Commit 3e581e6ccace01bc874cab29b5db9af1718db184

Authored by bhklein
1 parent 07aa03dc

CSV whitespace fixes

Showing 1 changed file with 101 additions and 102 deletions
openbr/plugins/gallery/csv.cpp
... ... @@ -23,94 +23,94 @@ namespace br
23 23  
24 24 struct CSVHeader
25 25 {
26   - QList<int> indices;
  26 + QList<int> indices;
27 27  
28   - CSVHeader()
29   - {}
  28 + CSVHeader()
  29 + {}
30 30  
31   - CSVHeader(const QString &key)
  31 + CSVHeader(const QString &key)
32 32 : key(key)
33   - {}
34   -
35   - QString key;
36   - QStringList subKeys;
  33 + {}
  34 +
  35 + QString key;
  36 + QStringList subKeys;
37 37 };
38   -
  38 +
39 39 class CSVHeaderList : public QList<CSVHeader>
40 40 {
41 41 public:
42   - CSVHeaderList()
43   - {}
44   -
45   - CSVHeaderList(const QList<CSVHeader> &headers)
46   - {
47   - foreach (const CSVHeader &header, headers)
48   - append(header);
49   - }
50   -
51   - CSVHeaderList(const QStringList &keys)
52   - {
53   - foreach (const QString &key, keys)
54   - append(CSVHeader(key));
55   - }
56   -
57   - void sort()
58   - {
59   - typedef QPair<QString, int> IndexPair;
60   - QList<IndexPair> sortedKeys = Common::Sort(keys());
61   -
62   - CSVHeaderList sortedList;
63   - foreach (const IndexPair sortedKey, sortedKeys)
64   - sortedList.append((*this)[sortedKey.second]);
65   - *this = sortedList;
66   - }
67   -
68   - QStringList keys() const
69   - {
70   - QStringList keys;
71   - for (int i=0; i<this->size(); i++)
72   - keys.append((*this)[i].key);
73   - return keys;
74   - }
  42 + CSVHeaderList()
  43 + {}
  44 +
  45 + CSVHeaderList(const QList<CSVHeader> &headers)
  46 + {
  47 + foreach (const CSVHeader &header, headers)
  48 + append(header);
  49 + }
  50 +
  51 + CSVHeaderList(const QStringList &keys)
  52 + {
  53 + foreach (const QString &key, keys)
  54 + append(CSVHeader(key));
  55 + }
  56 +
  57 + void sort()
  58 + {
  59 + typedef QPair<QString, int> IndexPair;
  60 + QList<IndexPair> sortedKeys = Common::Sort(keys());
  61 +
  62 + CSVHeaderList sortedList;
  63 + foreach (const IndexPair sortedKey, sortedKeys)
  64 + sortedList.append((*this)[sortedKey.second]);
  65 + *this = sortedList;
  66 + }
  67 +
  68 + QStringList keys() const
  69 + {
  70 + QStringList keys;
  71 + for (int i=0; i<this->size(); i++)
  72 + keys.append((*this)[i].key);
  73 + return keys;
  74 + }
75 75  
76 76 static CSVHeaderList fromHeaders(const QStringList &headers)
77   - {
78   - CSVHeaderList csvHeaders;
79   - QStringList processedKeys;
80   -
81   - for (int i=0; i<headers.size(); i++) {
82   - CSVHeader header;
83   - if (headers[i].contains("_")) {
84   - const QStringList subKeys = headers[i].split("_");
85   - header.key = subKeys.first();
86   -
87   - if (processedKeys.contains(header.key))
88   - continue;
89   - else
90   - processedKeys.append(header.key);
91   -
92   - header.subKeys.append(subKeys.last());
93   - header.indices.append(i);
94   -
95   - // Look for other subheaders with the same key
96   - for (int j=i+1; j<headers.size(); j++)
97   - if (headers[j].contains("_")) {
98   - const QStringList subKeys = headers[j].split("_");
99   - if (subKeys.first() == header.key && !header.subKeys.contains(subKeys.last()) /* Check for ill-formed csvs */) {
100   - header.indices.append(j);
101   - header.subKeys.append(subKeys.last());
102   - }
103   - }
104   - } else {
105   - header.key = headers[i];
106   - header.indices.append(i);
107   - }
108   - csvHeaders.append(header);
  77 + {
  78 + CSVHeaderList csvHeaders;
  79 + QStringList processedKeys;
  80 +
  81 + for (int i=0; i<headers.size(); i++) {
  82 + CSVHeader header;
  83 + if (headers[i].contains("_")) {
  84 + const QStringList subKeys = headers[i].split("_");
  85 + header.key = subKeys.first();
  86 +
  87 + if (processedKeys.contains(header.key))
  88 + continue;
  89 + else
  90 + processedKeys.append(header.key);
  91 +
  92 + header.subKeys.append(subKeys.last());
  93 + header.indices.append(i);
  94 +
  95 + // Look for other subheaders with the same key
  96 + for (int j=i+1; j<headers.size(); j++)
  97 + if (headers[j].contains("_")) {
  98 + const QStringList subKeys = headers[j].split("_");
  99 + if (subKeys.first() == header.key && !header.subKeys.contains(subKeys.last()) /* Check for ill-formed csvs */) {
  100 + header.indices.append(j);
  101 + header.subKeys.append(subKeys.last());
  102 + }
  103 + }
  104 + } else {
  105 + header.key = headers[i];
  106 + header.indices.append(i);
  107 + }
  108 + csvHeaders.append(header);
  109 + }
  110 + return csvHeaders;
109 111 }
110   - return csvHeaders;
111   - }
112 112 };
113   -
  113 +
114 114 /*!
115 115 * \ingroup galleries
116 116 * \brief Treats each line as a file.
... ... @@ -131,7 +131,7 @@ class csvGallery : public FileGallery
131 131  
132 132 FileList files;
133 133 CSVHeaderList headers;
134   -
  134 +
135 135 ~csvGallery()
136 136 {
137 137 f.close();
... ... @@ -187,7 +187,7 @@ class csvGallery : public FileGallery
187 187 }
188 188 }
189 189 }
190   -
  190 +
191 191 TemplateList readBlock(bool *done)
192 192 {
193 193 readOpen();
... ... @@ -206,38 +206,37 @@ class csvGallery : public FileGallery
206 206 headers = CSVHeaderList::fromHeaders(line.split(regexp).mid(1));
207 207 }
208 208  
209   - if (combineFiles) {
210   - *done = true;
211   - QMap<QString, File> combinedFiles;
212   -
213   - while (!f.atEnd()) {
  209 + if (combineFiles) {
  210 + *done = true;
  211 + QMap<QString, File> combinedFiles;
  212 +
  213 + while (!f.atEnd()) {
214 214 QVariantList values;
215 215 foreach (const QString &value, QtUtils::parse(f.readLine(), ','))
216 216 values.append(QtUtils::fromString(value));
217 217  
218   - const QString name = values.first().toString();
219   - File &in = combinedFiles[name];
220   - in.name = name;
221   - setValuesFromHeaders(in, headers, values.mid(1));
222   - }
  218 + const QString name = values.first().toString();
  219 + File &in = combinedFiles[name];
  220 + in.name = name;
  221 + setValuesFromHeaders(in, headers, values.mid(1));
  222 + }
223 223  
224   - foreach (const File &in, combinedFiles.values())
225   - templates.append(in);
226   - } else {
227   - for (qint64 i = 0; i < this->readBlockSize && !f.atEnd(); i++) {
  224 + foreach (const File &in, combinedFiles.values())
  225 + templates.append(in);
  226 + } else {
  227 + for (qint64 i = 0; i < this->readBlockSize && !f.atEnd(); i++) {
228 228 QVariantList values;
229 229 foreach (const QString &value, QtUtils::parse(f.readLine(), ','))
230 230 values.append(QtUtils::fromString(value));
231 231  
232   - File in;
233   - in.name = values.first().toString();
234   - setValuesFromHeaders(in, headers, values.mid(1));
235   - in.set("progress", f.pos());
236   - templates.append(in);
237   - }
238   - *done = f.atEnd();
  232 + File in;
  233 + in.name = values.first().toString();
  234 + setValuesFromHeaders(in, headers, values.mid(1));
  235 + in.set("progress", f.pos());
  236 + templates.append(in);
  237 + }
  238 + *done = f.atEnd();
239 239 }
240   -
241 240 return templates;
242 241 }
243 242  
... ... @@ -247,7 +246,7 @@ class csvGallery : public FileGallery
247 246 writeOpen();
248 247 if (headers.isEmpty()) {
249 248 foreach (const QString &key, t.file.localKeys())
250   - headers.append(CSVHeader(key));
  249 + headers.append(CSVHeader(key));
251 250  
252 251 headers.sort();
253 252 const QString header = QString(QStringList(QStringList("File") + headers.keys()).join(",") + "\n");
... ...