@@ -278,8 +278,7 @@ bool Cache::read() {
278278 cacheFile.close ();
279279 resAtLoad = resources.length ();
280280 ncprintf (" \033 [1;32mDone!\033 [0m\n " );
281- ncprintf (" Successfully parsed %d resources!\n\n " ,
282- static_cast <int >(resources.length ()));
281+ ncprintf (" Successfully parsed %d resources!\n\n " , resAtLoad);
283282 return true ;
284283 }
285284 return false ;
@@ -1553,38 +1552,38 @@ bool Cache::write(const bool onlyQuickId) {
15531552 xml.writeEndDocument ();
15541553 ncprintf (" \033 [1;32mDone!\033 [0m\n " );
15551554 quickIdFile.close ();
1556- if (onlyQuickId) {
1557- return true ;
1558- }
15591555 }
15601556
1561- bool result = false ;
1562- QFile cacheFile (dbFilePath ());
1563- if (cacheFile.open (QIODevice::WriteOnly)) {
1564- int resCountNew = static_cast <int >(resources.length ());
1565- int delta = resCountNew - resAtLoad;
1566- ncprintf (" Writing %d (%d%s) resource%s to cache, please wait... " ,
1567- resCountNew, delta, delta < 0 ? " " : " new" ,
1568- resCountNew == 1 ? " " : " s" );
1569- fflush (stdout);
1570- QXmlStreamWriter xml (&cacheFile);
1571- xml.setAutoFormatting (true );
1572- xml.writeStartDocument ();
1573- xml.writeStartElement (" resources" );
1574- for (const auto &resource : resources) {
1575- xml.writeStartElement (R_ELEM);
1576- xml.writeAttribute (ATTR_ID, resource.cacheId );
1577- xml.writeAttribute (ATTR_TYPE, resource.type );
1578- xml.writeAttribute (ATTR_SRC, resource.source );
1579- xml.writeAttribute (ATTR_TS, QString::number (resource.timestamp ));
1580- xml.writeCharacters (resource.value );
1557+ bool result = onlyQuickId || false ;
1558+ if (!onlyQuickId) {
1559+ QFile cacheFile (dbFilePath ());
1560+ if (cacheFile.open (QIODevice::WriteOnly)) {
1561+ int resCountNew = static_cast <int >(resources.length ());
1562+ int delta = resCountNew - resAtLoad;
1563+ ncprintf (" Writing %d (%d%s) resource%s to cache, please wait... " ,
1564+ resCountNew, delta, delta < 0 ? " " : " new" ,
1565+ resCountNew == 1 ? " " : " s" );
1566+ fflush (stdout);
1567+ QXmlStreamWriter xml (&cacheFile);
1568+ xml.setAutoFormatting (true );
1569+ xml.writeStartDocument ();
1570+ xml.writeStartElement (" resources" );
1571+ for (const auto &resource : resources) {
1572+ xml.writeStartElement (R_ELEM);
1573+ xml.writeAttribute (ATTR_ID, resource.cacheId );
1574+ xml.writeAttribute (ATTR_TYPE, resource.type );
1575+ xml.writeAttribute (ATTR_SRC, resource.source );
1576+ xml.writeAttribute (ATTR_TS,
1577+ QString::number (resource.timestamp ));
1578+ xml.writeCharacters (resource.value );
1579+ xml.writeEndElement ();
1580+ }
15811581 xml.writeEndElement ();
1582+ xml.writeEndDocument ();
1583+ result = true ;
1584+ ncprintf (" \033 [1;32mDone!\033 [0m\n\n " );
1585+ cacheFile.close ();
15821586 }
1583- xml.writeEndElement ();
1584- xml.writeEndDocument ();
1585- result = true ;
1586- ncprintf (" \033 [1;32mDone!\033 [0m\n\n " );
1587- cacheFile.close ();
15881587 }
15891588 return result;
15901589}
@@ -1657,12 +1656,13 @@ void Cache::verifyFiles(QDirIterator &dirIt, int &filesDeleted,
16571656 }
16581657}
16591658
1660- void Cache::merge (Cache &mergeCache, bool overwrite,
1661- const QString &mergeCacheFolder) {
1659+ void Cache::merge (bool overwrite, const QString &otherCacheFolder) {
1660+ Cache mergeCache (otherCacheFolder);
1661+ mergeCache.read ();
16621662 ncprintf (" Merging databases, please wait...\n " );
16631663 QList<Resource> mergeResources = mergeCache.getResources ();
16641664
1665- QDir mergeCacheDir (mergeCacheFolder );
1665+ QDir mergeCacheDir (otherCacheFolder );
16661666 mergeCacheDir.makeAbsolute ();
16671667
16681668 int resUpdated = 0 ;
0 commit comments