def setSource(self, lang): page = pywikibot.Page(self.repo, 'Wikidata:List of wikis/python') source_values = json.loads(page.get()) source_values = source_values['wikipedia'] for lang in source_values: source_values[lang] = pywikibot.ItemPage(self.repo, source_values[lang]) if lang in source_values: self.source = pywikibot.Claim(self.repo, 'p143') self.source.setTarget(source_values.get(lang))
The use of lang in "for lang in source_values:" overwrites the lang in "def setSource(self, lang)". This leads to incorrect results. "lang" should be the language of the source wiki. For -cat:"zh:Category:Somevalue" this would be "zh".
https://gerrit.wikimedia.org/r/#/c/82106/
In the init part
might also need changing.
Currently, if in the config file there is
and claimit is called with
this leads to "en" to be used, instead of "zh".