XZise has uploaded a new change for review. https://gerrit.wikimedia.org/r/182756
Change subject: [IMPROV] Maintenance/wikimedia_sites rewrite ...................................................................... [IMPROV] Maintenance/wikimedia_sites rewrite Uses the http library of pywikibot, handle_args instead of handleArgs and doesn't use carriage returns. Change-Id: I4e2f2990d27e59519523ee358948b1f5e3e94c05 --- M scripts/maintenance/wikimedia_sites.py 1 file changed, 18 insertions(+), 28 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/56/182756/1 diff --git a/scripts/maintenance/wikimedia_sites.py b/scripts/maintenance/wikimedia_sites.py index 83f2080..576bf02 100644 --- a/scripts/maintenance/wikimedia_sites.py +++ b/scripts/maintenance/wikimedia_sites.py @@ -12,15 +12,10 @@ import re import codecs from xml.etree import cElementTree -import sys import pywikibot from pywikibot.family import Family - -if sys.version_info[0] > 2: - from urllib.request import urlopen -else: - from urllib import urlopen +from pywikibot.comms.http import fetch URL = 'https://wikistats.wmflabs.org/api.php?action=dump&table=%s&format=xml' @@ -46,8 +41,8 @@ original = Family.load(family).languages_by_size obsolete = Family.load(family).obsolete - feed = urlopen(URL % familiesDict[family]) - tree = cElementTree.parse(feed) + feed = fetch(URL % familiesDict[family]).content + tree = cElementTree.fromstring(feed) new = [] for field in tree.findall('row/field'): @@ -58,7 +53,7 @@ continue # put the missing languages to the right place - missing = original != new and set(original) - set(new) + missing = set(original) - set(new) if missing: pywikibot.output(u"WARNING: ['%s'] not listed at wikistats." % "', '".join(missing)) @@ -74,32 +69,27 @@ pywikibot.output(u'The lists match!') else: pywikibot.output(u"The lists don't match, the new list is:") - text = u' self.languages_by_size = [\r\n' - line = ' ' * 11 + text = u' self.languages_by_size = [\n' + line = u'' for code in new: - if len(line) + len(code) <= 76: - line += u" '%s'," % code - else: - text += u'%s\r\n' % line - line = ' ' * 11 - line += u" '%s'," % code - text += u'%s\r\n' % line + if len(line) + len(code) > 80 - 11 - 4: + text += u' ' * 11 + u'%s\n' % line + line = u'' + line += u" '%s'," % code + text += u' ' * 11 + text += u'%s\n' % line text += u' ]' pywikibot.output(text) family_file_name = 'pywikibot/families/%s_family.py' % family - family_file = codecs.open(family_file_name, 'r', 'utf8') - family_text = family_file.read() + with codecs.open(family_file_name, 'r', 'utf8') as family_file: + family_text = family_file.read() old = re.findall(r'(?msu)^ {8}self.languages_by_size.+?\]', family_text)[0] family_text = family_text.replace(old, text) - family_file = codecs.open(family_file_name, 'w', 'utf8') - family_file.write(family_text) - family_file.close() + with codecs.open(family_file_name, 'w', 'utf8') as family_file: + family_file.write(family_text) if __name__ == '__main__': - fam = [] - for arg in pywikibot.handleArgs(): - if arg in familiesDict.keys() and arg not in fam: - fam.append(arg) - update_family(fam) + fams = set(arg for arg in pywikibot.handle_args() if arg in familiesDict) + update_family(fams) -- To view, visit https://gerrit.wikimedia.org/r/182756 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4e2f2990d27e59519523ee358948b1f5e3e94c05 Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: XZise <commodorefabia...@gmx.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits