Skip to content

Commit ecddcb6

Browse files
committed
regenerate stats after update
1 parent 5d26480 commit ecddcb6

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ To install or update LODA, please follow the [installation instructions](https:/
99

1010
### Enhancements
1111

12-
* Simplify comparison of programs (better/faster)
1312
* Include progress information in logs
13+
* Simplify comparison of programs (better/faster)
14+
* Force stats regeneration after OEIS and programs update
1415

1516
# v22.6.27
1617

src/include/oeis_manager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ class OeisManager {
7676
Evaluator evaluator;
7777
Finder finder;
7878
bool finder_initialized;
79+
bool update_needed;
7980

8081
Optimizer optimizer;
8182
Minimizer minimizer;

src/oeis_manager.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ OeisManager::OeisManager(const Settings &settings,
3434
evaluator(settings),
3535
finder(settings, evaluator),
3636
finder_initialized(false),
37+
update_needed(false),
3738
optimizer(settings),
3839
minimizer(settings),
3940
loaded_count(0),
@@ -308,14 +309,13 @@ void OeisManager::update() {
308309
while (it != files.end()) {
309310
auto path = Setup::getOeisHome() + *it;
310311
age_in_days = getFileAgeInDays(path);
311-
if (age_in_days >= 0 && age_in_days < Setup::getUpdateIntervalInDays()) {
312-
// no need to update this file
313-
it = files.erase(it);
314-
continue;
312+
if (age_in_days < 0 || age_in_days >= Setup::getUpdateIntervalInDays()) {
313+
update_needed = true;
314+
break;
315315
}
316316
it++;
317317
}
318-
if (!files.empty()) {
318+
if (update_needed) {
319319
Setup::checkLatestedVersion();
320320
if (age_in_days == -1) {
321321
Log::get().info("Creating OEIS index at \"" + Setup::getOeisHome() +
@@ -530,7 +530,8 @@ const Stats &OeisManager::getStats() {
530530

531531
// check age of stats
532532
auto age_in_days = getFileAgeInDays(stats->getMainStatsFile(stats_home));
533-
if (age_in_days < 0 || age_in_days >= Setup::getUpdateIntervalInDays()) {
533+
if (update_needed || age_in_days < 0 ||
534+
age_in_days >= Setup::getUpdateIntervalInDays()) {
534535
generateStats(age_in_days);
535536

536537
// generate lists in server mode

0 commit comments

Comments
 (0)