From 56f326b568b730448be809b60bd2c78124875a4d Mon Sep 17 00:00:00 2001 From: Jonathan Golder Date: Fri, 10 Mar 2017 23:43:16 +0100 Subject: [PATCH 1/2] Fix error all current redfams marked when quit Restructure update_status to make sure, marked is only set when all articles are marked or gone (means deleted or redirect) [https://fs.golderweb.de/index.php?do=details&task_id=111 FS#111] Related Task: [https://fs.golderweb.de/index.php?do=details&task_id=110 FS#110] --- lib/redfam.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/redfam.py b/lib/redfam.py index ca10e87..90fd8a2 100644 --- a/lib/redfam.py +++ b/lib/redfam.py @@ -548,14 +548,19 @@ class RedFamWorker( RedFam ): if not article: break - if self.article_has_status( "note_rej", title=article ): - self.status.add( "note_rej" ) if self.article_has_status( "sav_err", title=article ): self.status.add( "sav_err" ) + return + elif self.article_has_status( "note_rej", title=article ): + self.status.add( "note_rej" ) + return - if not self.status.has( "sav_err" ) and \ - not self.status.has( "note_rej" ): - self.status.add( "marked" ) + elif not self.article_has_status("deleted", title=article ) and \ + not self.article_has_status("redirect", title=article) and\ + not self.article_has_status("marked", title=article): + return + + self.status.add( "marked" ) def get_disc_link( self ): """ From 3e69a1c77e84f93589afca05d97d84aa30710639 Mon Sep 17 00:00:00 2001 From: Jonathan Golder Date: Fri, 10 Mar 2017 23:58:48 +0100 Subject: [PATCH 2/2] Remove problem indicating stati when set marked Remove states which are indicating problems in previous runs if successfully marked article and also whole RedFam [https://fs.golderweb.de/index.php?do=details&task_id=112 FS#112] Related Task: [https://fs.golderweb.de/index.php?do=details&task_id=110 FS#110] --- bots/markpages.py | 6 ++++++ lib/redfam.py | 2 ++ 2 files changed, 8 insertions(+) diff --git a/bots/markpages.py b/bots/markpages.py index 7637993..bdf4034 100644 --- a/bots/markpages.py +++ b/bots/markpages.py @@ -172,6 +172,12 @@ class MarkPagesBot( CurrentPageBot ): # sets 'current_page' on each treat() # Status if add_ret is None or ( add_ret and save_ret ): + self.current_page.redfam.article_remove_status( + "note_rej", + title=self.current_page.title(withNamespace=False)) + self.current_page.redfam.article_remove_status( + "sav_err", + title=self.current_page.title(withNamespace=False)) self.current_page.redfam.article_add_status( "marked", title=self.current_page.title(withNamespace=False)) diff --git a/lib/redfam.py b/lib/redfam.py index 90fd8a2..dc1535d 100644 --- a/lib/redfam.py +++ b/lib/redfam.py @@ -560,6 +560,8 @@ class RedFamWorker( RedFam ): not self.article_has_status("marked", title=article): return + self.status.remove("sav_err") + self.status.remove("note_rej") self.status.add( "marked" ) def get_disc_link( self ):