Revision: 5097 Author: btongminh Date: 2008-03-01 18:43:41 +0000 (Sat, 01 Mar 2008)
Log Message: ----------- delinker.py: Do 1 retry on PageNotSaved. image_replacer.py: Check count on beginning of loop.
Modified Paths: -------------- trunk/pywikipedia/commonsdelinker/delinker.py trunk/pywikipedia/commonsdelinker/image_replacer.py
Modified: trunk/pywikipedia/commonsdelinker/delinker.py =================================================================== --- trunk/pywikipedia/commonsdelinker/delinker.py 2008-03-01 14:41:29 UTC (rev 5096) +++ trunk/pywikipedia/commonsdelinker/delinker.py 2008-03-01 18:43:41 UTC (rev 5097) @@ -284,6 +284,7 @@ (page, text, new_text, m_summary)): return 'skipped' + is_retry = False while True: try: if self.CommonsDelinker.config.get('edit', True) and not \ @@ -299,7 +300,10 @@ output(u'Got EditConflict trying to remove %s from %s:%s.' % \ (image, site, page_title)) return self.replace_image(image, site, page_title, summary, replacement = None) - except (wikipedia.LockedPage, wikipedia.PageNotSaved): + except wikipedia.PageNotSaved: + if is_retry: return 'failed' + is_retry = True + except wikipedia.LockedPage: return 'failed' output(u'Retrying...') else:
Modified: trunk/pywikipedia/commonsdelinker/image_replacer.py =================================================================== --- trunk/pywikipedia/commonsdelinker/image_replacer.py 2008-03-01 14:41:29 UTC (rev 5096) +++ trunk/pywikipedia/commonsdelinker/image_replacer.py 2008-03-01 18:43:41 UTC (rev 5097) @@ -104,6 +104,7 @@ remove_from_list = [] count = 0 for replacement in replacements: + if count == self.config.get('replacer_rate_limit', -1): break res = self.examine_revision_history( revisions, replacement, username) if res and self.allowed_replacement(replacement) and \ @@ -112,7 +113,6 @@ remove_from_list.append(replacement.group(0)) output('Replacing %s by %s: %s' % replacement.groups()) count += 1 - if count == self.config.get('replacement_rate_limit', -1): break self.database.commit() if remove_from_list and self.config.get('clean_list', False):