jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1030176?usp=email )
Change subject: [IMPR] Use a set for lang_tmp_cat category content instead of a generator ......................................................................
[IMPR] Use a set for lang_tmp_cat category content instead of a generator
lang_tmp_cat is a generator for a category that holds the languages templates. instead using the generator for __contains__ operator create a set first.
Change-Id: I5d5a07bd7acee977d9ecd59bf7556d12ec2feffc --- M scripts/commons_information.py 1 file changed, 9 insertions(+), 1 deletion(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/scripts/commons_information.py b/scripts/commons_information.py index 2cf69eb..e71aecd 100755 --- a/scripts/commons_information.py +++ b/scripts/commons_information.py @@ -62,7 +62,7 @@ """Initialzer.""" super().__init__(**kwargs) lang_tmp_cat = pywikibot.Category(self.site, self.lang_tmp_cat) - self.lang_tmps = lang_tmp_cat.articles(namespaces=[10]) + self.lang_tmps = set(lang_tmp_cat.articles(namespaces=[10]))
def get_description(self, template): """Get description parameter.""" @@ -129,23 +129,29 @@ page = self.current_page code = mwparserfromhell.parse(page.text) edited = False # to prevent unwanted changes + for template in code.ifilter_templates(): if not page.site.sametitle(template.name.strip(), 'Information'): continue + desc = self.get_description(template) if desc is None: continue + for tmp in desc.value.filter_templates(recursive=False): if self.process_desc_template(tmp): edited = True + desc_clean = copy.deepcopy(desc.value) for tmp in desc_clean.filter_templates(recursive=False): # TODO: emit a debug item? desc_clean.remove(tmp) + value = desc_clean.strip() if value == '': pywikibot.info('Empty description') continue + pywikibot.info(value) langs = self.detect_langs(value) if langs: @@ -153,6 +159,7 @@ for language in langs: pywikibot.info( f'<<lightblue>>{language.lang}: {language.prob}') + lang = pywikibot.input( 'Enter the language of the displayed text:').strip() if lang != '': @@ -163,6 +170,7 @@ new = mwparserfromhell.nodes.template.Template(lang, [value]) self.replace_value(desc, new) edited = True + if edited: text = str(code) summary = i18n.translate(page.site.lang, self.comment,