annotate Apps/updateDeDupe.cpp @ 114:d4e337567960

Add some debug statements and fix a bug in SQL execution.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Tue, 03 May 2016 02:26:39 +0200
parents 27e628852401
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }