Mercurial > dedupe
annotate Apps/updateDeDupe.cpp @ 115:404795616b1e default tip
Added a lot of common files to ignore
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Sat, 25 Mar 2017 17:43:57 +0100 |
| parents | 27e628852401 |
| children |
| rev | line source |
|---|---|
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 #include "DataController.hpp" |
|
40
f711ddb56ae7
Sort up includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
30
diff
changeset
|
2 |
|
28
b2c2c2bf2bbd
Refactor Exceptions into a separate directory.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
11
diff
changeset
|
3 #include "Exception/Exception.hpp" |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
4 |
|
9
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
5 #include <iostream> |
|
83
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
6 #include <QtCore/QList> |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
7 #include <boost/foreach.hpp> |
|
102
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
8 #include <boost/archive/detail/utf8_codecvt_facet.hpp> |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
9 #include <locale> |
|
113
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
10 #include <stdexcept> |
|
102
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
11 #include <boost/archive/add_facet.hpp> |
|
113
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
12 |
|
102
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
13 //#include <codecvt> |
|
9
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
14 |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 int main(int argc, char *argv[]) { |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
16 |
|
83
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
17 QStringList paths; |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
18 |
|
102
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
19 /* |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
20 typedef wchar_t ucs4_t; |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
21 |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
22 std::locale old_locale; |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
23 std::locale utf8_locale(old_locale, new utf8_codecvt_facet<ucs4_t>); |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
24 |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
25 // Set a New global locale |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
26 //std::locale::global(utf8_locale); |
|
5906661c0421
New attempt on getting correct encodings.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
83
diff
changeset
|
27 */ |
|
83
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
28 for (int i = 1; i < argc; ++i) { |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
29 char path_buf[PATH_MAX]; |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
30 realpath(argv[i], path_buf); |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
31 paths.push_back(path_buf); |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
32 } |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
33 |
|
9
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
34 try { |
|
83
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
35 if (paths.empty()) { |
|
113
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
36 try { |
|
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
37 DataController dc(false); |
|
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
38 } |
|
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
39 catch (std::runtime_error &e) { |
|
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
40 std::cerr << "Unrecoverable error: " << e.what() << std::endl; |
|
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
41 exit(1); |
|
27e628852401
Add some error checking.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
102
diff
changeset
|
42 } |
|
83
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
43 } |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
44 else { |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
45 foreach(const QString& path, paths) { |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
46 DataController dc(path, false); |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
47 } |
|
c17475848bf4
Allow for paths to be specified on commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
63
diff
changeset
|
48 } |
|
9
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
49 } |
|
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
50 catch (Exception& e) { |
|
11
f59ee8d3f8ea
Fix error string formatting.
Tom Fredrik Blenning Klaussen <bfg@sim.no>
parents:
9
diff
changeset
|
51 std::cerr << "Unrecoverable error: " << e.toString().toStdString(); |
|
9
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
52 exit(1); |
|
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
53 } |
|
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
54 |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
55 } |
