89 } |
88 } |
90 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EQUIPMENT")) { |
89 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EQUIPMENT")) { |
91 /* |
90 /* |
92 * Equipment |
91 * Equipment |
93 */ |
92 */ |
94 eq_total++; |
|
95 total++; |
93 total++; |
|
94 hasnotes = false; |
96 sql = "INSERT INTO inventory_equipments SET uuid='"; |
95 sql = "INSERT INTO inventory_equipments SET uuid='"; |
97 sql.append(QUuid::createUuid().toString().mid(1, 36)); |
96 sql.append(QUuid::createUuid().toString().mid(1, 36)); |
98 sql.append("', top_up_water=0"); |
97 sql.append("', top_up_water=0"); |
99 |
98 |
100 while (xml->readNext()) { |
99 while (xml->readNext()) { |
101 if (xml->atEnd()) |
100 if (xml->atEnd()) |
102 break; |
101 break; |
103 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "EQUIPMENT")) { |
102 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "EQUIPMENT")) { |
|
103 if (! hasnotes) |
|
104 sql.append(", notes=''"); |
104 query.exec(sql); |
105 query.exec(sql); |
105 if (query.lastError().isValid()) { |
106 if (query.lastError().isValid()) { |
106 // qWarning() << sql << query.lastError(); |
107 qWarning() << sql << query.lastError(); |
107 eq_errors++; |
|
108 errors++; |
108 errors++; |
109 } |
109 } |
110 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); |
110 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); |
111 break; |
111 break; |
112 } |
112 } |
113 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "VERSION")) { |
113 if ((xml->tokenType() == QXmlStreamReader::StartElement) && |
|
114 ((xml->name() == "VERSION") || (xml->name() == "DISPLAY_BOIL_SIZE") || |
|
115 (xml->name() == "DISPLAY_BATCH_SIZE") || (xml->name() == "DISPLAY_TUN_VOLUME") || |
|
116 (xml->name() == "DISPLAY_TUN_WEIGHT") || (xml->name() == "DISPLAY_TRUB_CHILLER_LOSS") || |
|
117 (xml->name() == "DISPLAY_LAUTERDEADSPACE") || (xml->name() == "TUN_MATERIAL") || |
|
118 (xml->name() == "ATTENUATION_FACTOR_YEAST") || (xml->name() == "ATTENUATION_FACTOR_WATER_TO_GRAIN_RATIO") || |
|
119 (xml->name() == "ATTENUATION_FACTOR_TOTAL_MASH_TIME") || (xml->name() == "ATTENUATION_FACTOR_PERC_SIMPLE_SUGAR") || |
|
120 (xml->name() == "ATTENUATION_FACTOR_CONSTANT"))) { |
114 // Ignore. |
121 // Ignore. |
115 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) { |
122 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) { |
116 sql.append(QString(", name='%1'").arg(xml->readElementText())); |
123 sql.append(QString(", name='%1'").arg(xml->readElementText())); |
117 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) { |
124 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) { |
118 sql.append(QString(", notes='%1'").arg(xml->readElementText())); |
125 sql.append(QString(", notes='%1'").arg(xml->readElementText())); |
|
126 hasnotes = true; |
119 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BOIL_SIZE")) { |
127 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BOIL_SIZE")) { |
120 sql.append(QString(", boil_size=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
128 sql.append(QString(", boil_size=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
121 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BATCH_SIZE")) { |
129 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BATCH_SIZE")) { |
122 sql.append(QString(", batch_size=%1").arg(xml->readElementText().toDouble(), 3, 'f', 2, '0')); |
130 sql.append(QString(", batch_size=%1").arg(xml->readElementText().toDouble(), 3, 'f', 2, '0')); |
123 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TUN_VOLUME")) { |
131 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TUN_VOLUME")) { |
174 } |
182 } |
175 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE")) { |
183 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE")) { |
176 /* |
184 /* |
177 * Style |
185 * Style |
178 */ |
186 */ |
179 st_total++; |
187 Style *st = new Style; |
180 total++; |
188 st->notes = st->category = st->style_letter = st->profile = st->ingredients = st->examples = ""; |
181 sql = "INSERT INTO profile_styles SET uuid='"; |
189 st->style_guide = "BKG 2019"; |
182 sql.append(QUuid::createUuid().toString().mid(1, 36)); |
190 st->category_number = 0; |
183 sql.append("'"); |
191 total++; |
184 |
192 |
185 while (xml->readNext()) { |
193 while (xml->readNext()) { |
186 if (xml->atEnd()) |
194 if (xml->atEnd()) |
187 break; |
195 break; |
188 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "STYLE")) { |
196 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "STYLE")) { |
189 query.exec(sql); |
197 query.prepare("INSERT INTO profile_styles SET name=:name, category=:category, " |
190 if (query.lastError().isValid()) { |
198 "category_number=:catnr, style_letter=:group, style_guide=:guide, type=:type, " |
191 qWarning() << sql << query.lastError(); |
199 "og_min=:og_min, og_max=:og_max, fg_min=:fg_min, fg_max=:fg_max, ibu_min=:ibu_min, " |
192 st_errors++; |
200 "ibu_max=:ibu_max, color_min=:ebc_min, color_max=:ebc_max, carb_min=:co2_min, " |
193 errors++; |
201 "carb_max=:co2_max, abv_min=:abv_min, abv_max=:abv_max, notes=:notes, " |
194 } |
202 "profile=:profile, ingredients=:ingredients, examples=:examples, uuid=:uuid"); |
195 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); |
203 query.bindValue(":name", st->name); |
|
204 query.bindValue(":category", st->category); |
|
205 query.bindValue(":catnr", st->category_number); |
|
206 query.bindValue(":group", st->style_letter); |
|
207 query.bindValue(":guide", st->style_guide); |
|
208 query.bindValue(":type", st->type); |
|
209 query.bindValue(":og_min", QString("%1").arg(st->og_min, 4, 'f', 3, '0')); |
|
210 query.bindValue(":og_max", QString("%1").arg(st->og_max, 4, 'f', 3, '0')); |
|
211 query.bindValue(":fg_min", QString("%1").arg(st->fg_min, 4, 'f', 3, '0')); |
|
212 query.bindValue(":fg_max", QString("%1").arg(st->fg_max, 4, 'f', 3, '0')); |
|
213 query.bindValue(":ibu_min", QString("%1").arg(st->ibu_min, 1, 'f', 0, '0')); |
|
214 query.bindValue(":ibu_max", QString("%1").arg(st->ibu_max, 1, 'f', 0, '0')); |
|
215 query.bindValue(":ebc_min", QString("%1").arg(st->color_min, 1, 'f', 0, '0')); |
|
216 query.bindValue(":ebc_max", QString("%1").arg(st->color_max, 1, 'f', 0, '0')); |
|
217 query.bindValue(":co2_min", QString("%1").arg(st->carb_min, 2, 'f', 1, '0')); |
|
218 query.bindValue(":co2_max", QString("%1").arg(st->carb_max, 2, 'f', 1, '0')); |
|
219 query.bindValue(":abv_min", QString("%1").arg(st->abv_min, 2, 'f', 1, '0')); |
|
220 query.bindValue(":abv_max", QString("%1").arg(st->abv_max, 2, 'f', 1, '0')); |
|
221 query.bindValue(":notes", st->notes); |
|
222 query.bindValue(":profile", st->profile); |
|
223 query.bindValue(":ingredients", st->ingredients); |
|
224 query.bindValue(":examples", st->examples); |
|
225 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); |
|
226 query.exec(); |
|
227 if (query.lastError().isValid()) { |
|
228 qWarning() << query.lastError(); |
|
229 errors++; |
|
230 } |
|
231 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); |
|
232 delete st; |
196 break; |
233 break; |
197 } |
234 } |
198 if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "VERSION")) || |
235 if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "VERSION")) || |
199 (xml->name() == "DISPLAY_OG_MIN") || (xml->name() == "DISPLAY_OG_MAX") || (xml->name() == "DISPLAY_FG_MIN") || |
236 (xml->name() == "DISPLAY_OG_MIN") || (xml->name() == "DISPLAY_OG_MAX") || (xml->name() == "DISPLAY_FG_MIN") || |
200 (xml->name() == "DISPLAY_FG_MAX") || (xml->name() == "DISPLAY_IBU_MIN") || (xml->name() == "DISPLAY_IBU_MAX") || |
237 (xml->name() == "DISPLAY_FG_MAX") || (xml->name() == "DISPLAY_IBU_MIN") || (xml->name() == "DISPLAY_IBU_MAX") || |
202 (xml->name() == "DISPLAY_CARB_MAX") || (xml->name() == "DISPLAY_ABV_MIN") || (xml->name() == "DISPLAY_ABV_MAX") || |
239 (xml->name() == "DISPLAY_CARB_MAX") || (xml->name() == "DISPLAY_ABV_MIN") || (xml->name() == "DISPLAY_ABV_MAX") || |
203 (xml->name() == "OG_RANGE") || (xml->name() == "FG_RANGE") || (xml->name() == "IBU_RANGE") || |
240 (xml->name() == "OG_RANGE") || (xml->name() == "FG_RANGE") || (xml->name() == "IBU_RANGE") || |
204 (xml->name() == "CARB_RANGE") || (xml->name() == "COLOR_RANGE") || (xml->name() == "ABV_RANGE")) { |
241 (xml->name() == "CARB_RANGE") || (xml->name() == "COLOR_RANGE") || (xml->name() == "ABV_RANGE")) { |
205 // Ignore. |
242 // Ignore. |
206 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) { |
243 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) { |
|
244 st->name = xml->readElementText(); |
|
245 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY")) { |
|
246 st->category = xml->readElementText(); |
|
247 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY_NUMBER")) { |
|
248 st->category_number = xml->readElementText().toInt(); |
|
249 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_LETTER")) { |
|
250 st->style_letter = xml->readElementText(); |
|
251 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_GUIDE")) { |
|
252 st->style_guide = xml->readElementText(); |
|
253 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) { |
|
254 QString temp = xml->readElementText(); |
|
255 if (temp == "Lager") |
|
256 st->type = 0; |
|
257 else if (temp == "Ale") |
|
258 st->type = 1; |
|
259 else if (temp == "Mead") |
|
260 st->type = 2; |
|
261 else if (temp == "Wheat") |
|
262 st->type = 3; |
|
263 else if (temp == "Mixed") |
|
264 st->type = 4; |
|
265 else if (temp == "Cider") |
|
266 st->type = 5; |
|
267 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) { |
|
268 st->notes = xml->readElementText(); |
|
269 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MIN")) { |
|
270 st->og_min = xml->readElementText().toDouble(); |
|
271 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MAX")) { |
|
272 st->og_max = xml->readElementText().toDouble(); |
|
273 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MIN")) { |
|
274 st->fg_min = xml->readElementText().toDouble(); |
|
275 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MAX")) { |
|
276 st->fg_max = xml->readElementText().toDouble(); |
|
277 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MIN")) { |
|
278 st->ibu_min = xml->readElementText().toDouble(); |
|
279 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MAX")) { |
|
280 st->ibu_max = xml->readElementText().toDouble(); |
|
281 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MIN")) { |
|
282 st->color_min = xml->readElementText().toDouble(); |
|
283 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MAX")) { |
|
284 st->color_max = xml->readElementText().toDouble(); |
|
285 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MIN")) { |
|
286 st->carb_min = xml->readElementText().toDouble(); |
|
287 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MAX")) { |
|
288 st->carb_max = xml->readElementText().toDouble(); |
|
289 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MIN")) { |
|
290 st->abv_min = xml->readElementText().toDouble(); |
|
291 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MAX")) { |
|
292 st->abv_max = xml->readElementText().toDouble(); |
|
293 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROFILE")) { |
|
294 st->profile = xml->readElementText(); |
|
295 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "INGREDIENTS")) { |
|
296 st->ingredients = xml->readElementText(); |
|
297 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EXAMPLES")) { |
|
298 st->examples = xml->readElementText(); |
|
299 } else { |
|
300 if (xml->tokenType() == QXmlStreamReader::StartElement) |
|
301 qDebug() << "2 " << xml->tokenType() << xml->name(); |
|
302 } |
|
303 } |
|
304 } |
|
305 } |
|
306 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLES")) { |
|
307 qDebug() << "start FERMENTABLES"; |
|
308 /* |
|
309 * Fermentables |
|
310 */ |
|
311 while (xml->readNext()) { |
|
312 if (xml->atEnd()) |
|
313 break; |
|
314 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLES")) { |
|
315 qDebug() << "0 /FERMENTABLES"; |
|
316 break; |
|
317 } |
|
318 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLE")) { |
|
319 /* |
|
320 * Fermentable |
|
321 */ |
|
322 total++; |
|
323 hasnotes = false; |
|
324 sql = "INSERT INTO inventory_fermentables SET uuid='"; |
|
325 sql.append(QUuid::createUuid().toString().mid(1, 36)); |
|
326 sql.append("'"); |
|
327 |
|
328 while (xml->readNext()) { |
|
329 if (xml->atEnd()) |
|
330 break; |
|
331 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLE")) { |
|
332 qDebug() << "hasnotes" << hasnotes; |
|
333 if (! hasnotes) |
|
334 sql.append(", notes=''"); |
|
335 query.exec(sql); |
|
336 if (query.lastError().isValid()) { |
|
337 qWarning() << sql << query.lastError(); |
|
338 errors++; |
|
339 } |
|
340 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); |
|
341 break; |
|
342 } |
|
343 if ((xml->tokenType() == QXmlStreamReader::StartElement) && |
|
344 ((xml->name() == "VERSION") || (xml->name() == "DISPLAY_COST") || |
|
345 (xml->name() == "DISPLAY_COLOR") || (xml->name() == "INVENTORY") || |
|
346 (xml->name() == "PERCENTAGE") || (xml->name() == "ADJUST_TO_TOTAL_100") )) { |
|
347 // Ignore. |
|
348 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) { |
207 sql.append(QString(", name='%1'").arg(xml->readElementText())); |
349 sql.append(QString(", name='%1'").arg(xml->readElementText())); |
208 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY")) { |
350 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COST")) { |
209 sql.append(QString(", category='%1'").arg(xml->readElementText())); |
351 sql.append(QString(", cost=%1").arg(xml->readElementText().toDouble(), 3, 'f', 2, '0')); |
210 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY_NUMBER")) { |
|
211 sql.append(QString(", category_number=%1").arg(xml->readElementText().toInt())); |
|
212 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_LETTER")) { |
|
213 sql.append(QString(", style_letter='%1'").arg(xml->readElementText())); |
|
214 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_GUIDE")) { |
|
215 sql.append(QString(", style_guide='%1'").arg(xml->readElementText())); |
|
216 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) { |
352 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) { |
217 sql.append(QString(", type=%1").arg(xml->readElementText().toInt())); |
353 QString temp = xml->readElementText(); |
|
354 if (temp == "Grain") |
|
355 sql.append(", type=0"); |
|
356 else if (temp == "Sugar") |
|
357 sql.append(", type=1"); |
|
358 else if (temp == "Extract") |
|
359 sql.append(", type=2"); |
|
360 else if (temp == "Dry extract") |
|
361 sql.append(", type=3"); |
|
362 else if (temp == "Adjunct") |
|
363 sql.append(", type=4"); |
|
364 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) { |
|
365 sql.append(QString(", origin='%1'").arg(xml->readElementText())); |
|
366 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUPPLIER")) { |
|
367 sql.append(QString(", supplier='%1'").arg(xml->readElementText())); |
218 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) { |
368 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) { |
219 sql.append(QString(", notes='%1'").arg(xml->readElementText())); |
369 sql.append(QString(", notes='%1'").arg(xml->readElementText())); |
220 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MIN")) { |
370 hasnotes = true; |
221 sql.append(QString(", og_min=%1").arg(xml->readElementText().toDouble(), 4, 'f', 3, '0')); |
371 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ALWAYS_ON_STOCK")) { |
222 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MAX")) { |
372 sql.append(QString(", always_on_stock=%1").arg(xml->readElementText().toLower())); |
223 sql.append(QString(", og_max=%1").arg(xml->readElementText().toDouble(), 4, 'f', 3, '0')); |
373 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YIELD")) { |
224 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MIN")) { |
374 sql.append(QString(", yield=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
225 sql.append(QString(", fg_min=%1").arg(xml->readElementText().toDouble(), 4, 'f', 3, '0')); |
375 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COARSE_FINE_DIFF")) { |
226 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MAX")) { |
376 sql.append(QString(", coarse_fine_diff=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
227 sql.append(QString(", fg_max=%1").arg(xml->readElementText().toDouble(), 4, 'f', 3, '0')); |
377 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MOISTURE")) { |
228 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MIN")) { |
378 sql.append(QString(", moisture=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
229 sql.append(QString(", ibu_min=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
379 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DIASTATIC_POWER")) { |
230 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MAX")) { |
380 sql.append(QString(", diastatic_power=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
231 sql.append(QString(", ibu_max=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
381 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_IN_BATCH")) { |
232 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MIN")) { |
382 sql.append(QString(", max_in_batch=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
233 sql.append(QString(", color_min=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
383 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RECOMMEND_MASH")) { |
234 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MAX")) { |
384 sql.append(QString(", recommend_mash=%1").arg(xml->readElementText().toLower())); |
235 sql.append(QString(", color_max=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
385 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "GRAINTYPE")) { |
236 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MIN")) { |
386 QString temp = xml->readElementText(); |
237 sql.append(QString(", carb_min=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
387 if (temp == "Base") |
238 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MAX")) { |
388 sql.append(QString(", graintype=0")); |
239 sql.append(QString(", carb_max=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
389 else if (temp == "Roast") |
240 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MIN")) { |
390 sql.append(QString(", graintype=1")); |
241 sql.append(QString(", abv_min=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
391 else if (temp == "Crystal") |
242 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MAX")) { |
392 sql.append(QString(", graintype=2")); |
243 sql.append(QString(", abv_max=%1").arg(xml->readElementText().toDouble(), 2, 'f', 1, '0')); |
393 else if (temp == "Kilned") |
244 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROFILE")) { |
394 sql.append(QString(", graintype=3")); |
245 sql.append(QString(", profile='%1'").arg(xml->readElementText())); |
395 else if (temp == "Sour Malt") |
246 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "INGREDIENTS")) { |
396 sql.append(QString(", graintype=4")); |
247 sql.append(QString(", ingredients='%1'").arg(xml->readElementText())); |
397 else if (temp == "Special") |
248 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EXAMPLES")) { |
398 sql.append(QString(", graintype=5")); |
249 sql.append(QString(", examples='%1'").arg(xml->readElementText())); |
399 else if (temp == "No malt") |
250 } else { |
400 sql.append(QString(", graintype=6")); |
251 if (xml->tokenType() == QXmlStreamReader::StartElement) |
401 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADDED")) { |
252 qDebug() << "2 " << xml->tokenType() << xml->name(); |
402 QString temp = xml->readElementText(); |
253 } |
403 if (temp == "Mash") |
254 } |
404 sql.append(QString(", added=0")); |
255 } |
405 else if (temp == "Boil") |
256 } |
406 sql.append(QString(", added=1")); |
257 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLES")) { |
407 else if (temp == "Fermentation") |
258 /* |
408 sql.append(QString(", added=2")); |
259 * Fermentables |
409 else if (temp == "Lagering") |
260 */ |
410 sql.append(QString(", added=3")); |
261 while (xml->readNext()) { |
411 else if (temp == "Bottle") |
262 if (xml->atEnd()) |
412 sql.append(QString(", added=4")); |
263 break; |
413 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADD_AFTER_BOIL")) { |
264 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLES")) { |
414 sql.append(QString(", add_after_boil=%1").arg(xml->readElementText().toLower())); |
265 qDebug() << "0 /FERMENTABLES"; |
415 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR")) { |
266 break; |
416 sql.append(QString(", color=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
267 } |
417 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROTEIN")) { |
268 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLE")) { |
418 sql.append(QString(", protein=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
269 /* |
419 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DISSOLVED_PROTEIN")) { |
270 * Fermentable |
420 sql.append(QString(", dissolved_protein=%1").arg(xml->readElementText().toDouble(), 5, 'f', 4, '0')); |
271 */ |
421 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DI_pH")) { |
272 f_total++; |
422 sql.append(QString(", di_ph=%1").arg(xml->readElementText().toDouble(), 6, 'f', 5, '0')); |
273 total++; |
423 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ACID_TO_pH_5.7")) { |
274 sql = "INSERT INTO inventory_fermentables SET uuid='"; |
424 sql.append(QString(", acid_to_ph_57=%1").arg(xml->readElementText().toDouble(), 6, 'f', 5, '0')); |
275 sql.append(QUuid::createUuid().toString().mid(1, 36)); |
|
276 |
|
277 while (xml->readNext()) { |
|
278 if (xml->atEnd()) |
|
279 break; |
|
280 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLE")) { |
|
281 // query.exec(sql); |
|
282 if (query.lastError().isValid()) { |
|
283 // qWarning() << sql << query.lastError(); |
|
284 f_errors++; |
|
285 errors++; |
|
286 } |
|
287 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); |
|
288 break; |
|
289 } |
|
290 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "VERSION")) { |
|
291 // Ignore. |
|
292 } else { |
425 } else { |
293 if (xml->tokenType() == QXmlStreamReader::StartElement) |
426 if (xml->tokenType() == QXmlStreamReader::StartElement) |
294 qDebug() << "2 " << xml->tokenType() << xml->name(); |
427 qDebug() << "2 " << xml->tokenType() << xml->name(); |
295 } |
428 } |
296 } |
429 } |