jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/281610?usp=email )
Change subject: [IMPR] Simplify takesettings ......................................................................
[IMPR] Simplify takesettings
- set self.settingsData to None on top of the method. It is no longer necessary to set them to None later except we got an empty list. - remove inner try/exeption and use page.text property which catch the NoPage exception and returns an empty string instead. - return after a wrong setting message has been printed. - remove comment which repeats the printed message.
Change-Id: Ia37362980d35cf26d4bccf35e1731e79f76eaeef --- M scripts/checkimages.py 1 file changed, 50 insertions(+), 36 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/scripts/checkimages.py b/scripts/checkimages.py index 3eb9d17..b105b16 100755 --- a/scripts/checkimages.py +++ b/scripts/checkimages.py @@ -1057,45 +1057,43 @@
def takesettings(self) -> None: """Function to take the settings from the wiki.""" + self.settings_data = None + settings_page = i18n.translate(self.site, PAGE_WITH_SETTINGS) - if not settings_page: - self.settings_data = None - else: - page = pywikibot.Page(self.site, settings_page) - self.settings_data = [] - try: - testo = page.get() - - for number, m in enumerate(SETTINGS_REGEX.finditer(testo), - start=1): - name = str(m[1]) - find_tipe = str(m[2]) - find = str(m[3]) - imagechanges = str(m[4]) - summary = str(m[5]) - head = str(m[6]) - text = str(m[7]) - mexcatched = str(m[8]) - tupla = [number, name, find_tipe, find, imagechanges, - summary, head, text, mexcatched] - self.settings_data += [tupla] - - if not self.settings_data: - pywikibot.info( - "You've set wrongly your settings, please take a " - 'look to the relative page. (run without them)') - self.settings_data = None - except NoPageError: - pywikibot.info("The settings' page doesn't exist!") - self.settings_data = None - - # Real-Time page loaded - if self.settings_data: - pywikibot.info('>> Loaded the real-time page... <<') - else: - self.settings_data = None pywikibot.info('>> No additional settings found! <<') + return + + page = pywikibot.Page(self.site, settings_page) + page_text = page.text + if not page_text: + pywikibot.info( + 'Either the settings page does not exist or is empty!') + return + + self.settings_data = [] + for number, m in enumerate(SETTINGS_REGEX.finditer(page_text), + start=1): + name = str(m[1]) + find_tipe = str(m[2]) + find = str(m[3]) + imagechanges = str(m[4]) + summary = str(m[5]) + head = str(m[6]) + text = str(m[7]) + mexcatched = str(m[8]) + settings = [number, name, find_tipe, find, imagechanges, summary, + head, text, mexcatched] + self.settings_data.append(settings) + + if not self.settings_data: + pywikibot.info( + "You've set wrongly your settings, please take a look to the " + 'relative page. (run without them)') + self.settings_data = None + return + + pywikibot.info('>> Loaded the real-time page... <<')
def load_licenses(self) -> set[pywikibot.Page]: """Load the list of the licenses.