Skip to content

Commit c072e2e

Browse files
committed
refactorings of cache (minor)
1 parent 6406c26 commit c072e2e

4 files changed

Lines changed: 38 additions & 39 deletions

File tree

src/cache.cpp

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -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;

src/cache.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,9 @@ class Cache {
104104
bool hasEntries(const QString &cacheId, const QString scraper = "");
105105
void addQuickId(const QFileInfo &info, const QString &cacheId);
106106
QString getQuickId(const QFileInfo &info);
107-
void merge(Cache &mergeCache, bool overwrite,
108-
const QString &mergeCacheFolder);
107+
void merge(bool overwrite, const QString &otherCacheFolder);
108+
109+
private:
109110
QList<Resource> getResources();
110111

111112
private:

src/skyscraper.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,9 +263,7 @@ void Skyscraper::run() {
263263

264264
const QString absMergeCacheFilePath = mergeCacheInfo.absoluteFilePath();
265265
if (mergeCacheInfo.isDir()) {
266-
Cache mergeCache(absMergeCacheFilePath);
267-
mergeCache.read();
268-
cache->merge(mergeCache, config.refresh, absMergeCacheFilePath);
266+
cache->merge(config.refresh, absMergeCacheFilePath);
269267
state = NO_INTR;
270268
cache->write();
271269
state = SINGLE;

test/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ clean:
1717
cd .. ; \
1818
)
1919

20-
all: clean tests
20+
all: clean tests

0 commit comments

Comments
 (0)