From ee8ebbc8bc088d41ba15801f7d42ac3f29bbbf1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?GOLDERWEB=20=E2=80=93=20Jonathan=20Golder?= Date: Wed, 24 Aug 2016 15:41:13 +0200 Subject: [PATCH] Make sure only flush db if there are redfams To prevent from doing unnecessary stuff and trying to use not existing db connection Related Task: [https://fs.golderweb.de/index.php?do=details&task_id=75 FS#75] Related Task: [https://fs.golderweb.de/index.php?do=details&task_id=75 FS#75] --- reddiscparser.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/reddiscparser.py b/reddiscparser.py index 00329e4..962eb5a 100644 --- a/reddiscparser.py +++ b/reddiscparser.py @@ -102,18 +102,31 @@ class DiscussionParserBot( # Check whether parsing is needed if red_page.is_parsing_needed(): + # Count families for failure analysis + fam_counter = 0 + # Iterate over returned generator with redfam sections for fam in red_page.parse(): # Run RedFamParser on section text redfam.RedFamParser.parser( fam, red_page.page._pageid, red_page.is_archive() ) + + fam_counter += 1 + else: # If successfully parsed whole page, flush # db write cache - redfam.RedFamParser.flush_db_cache() - jogobot.output( "Page [[{reddisc}]] parsed".format( - reddisc=red_page.page.title() ) ) + if( fam_counter ): + redfam.RedFamParser.flush_db_cache() + jogobot.output( "Page [[{reddisc}]] parsed".format( + reddisc=red_page.page.title() ) ) + else: + jogobot.output( + "\03{red} Page [[{reddisc}]], ".format( + reddisc=red_page.page.title() ) + + "containing no redfam, parsed!", + "WARNING" ) def apply_conf_cat_generators( genFactory ):