1
0
Fork 0
mirror of https://gitlab.wikimedia.org/ladsgroup/Phabricator-maintenance-bot synced 2024-11-22 12:02:38 +01:00
Phabricator-maintenance-bot/patch_makers.py

83 lines
2.9 KiB
Python
Raw Normal View History

import json
from gerrit import GerritBot
class WikimediaMessagesPatchMaker(GerritBot):
def __init__(self, db_name, english_name, url, lang, bug_id):
self.db_name = db_name
self.english_name = english_name
self.wiki_url = url
self.wiki_lang = lang
super().__init__(
'mediawiki/extensions/WikimediaMessages',
'Add messages for {} ({})\n\nBug:{}'.format(
english_name, db_name, bug_id)
)
def changes(self):
file_ = 'i18n/wikimediaprojectnames/en.json'
result = self._read_json(file_)
result['project-localized-name-' + self.db_name] = self.english_name
self._write_json(file_, result)
file_ = 'i18n/wikimediaprojectnames/qqq.json'
result = self._read_json(file_)
result['project-localized-name-' + self.db_name] = '{{ProjectNameDocumentation|url=' + \
self.wiki_url + '|name=' + self.english_name + \
'|language=' + self.wiki_lang + '}}'
self._write_json(file_, result)
if not 'wikipedia' in self.wiki_url:
return
file_ = 'i18n/wikimediainterwikisearchresults/en.json'
result = self._read_json(file_)
result['search-interwiki-results-' +
self.db_name] = 'Showing results from [[:{}:|{}]].'.format(self.wiki_lang, self.english_name)
self._write_json(file_, result)
file_ = 'i18n/wikimediainterwikisearchresults/qqq.json'
result = self._read_json(file_)
result['search-interwiki-results-' + self.db_name] = 'Search results description for ' + \
self.english_name + '.\n{{LanguageNameTip|' + self.wiki_lang + '}}'
self._write_json(file_, result)
def _read_json(self, path):
with open(path, 'r') as f:
result = json.load(f)
return result
def _write_json(self, path, content):
with open(path, 'w') as f:
f.write(json.dumps(content, ensure_ascii=False,
indent='\t', sort_keys=True))
def DnsPatchMaker():
def __init__(self, lang, bug_id):
self.wiki_lang = lang
super().__init__(
'operations/dns',
'Add {} to langlist helper\n\nBug:{}'.format(lang, bug_id)
)
def changes(self):
with open('templates/helpers/langlist.tmpl', 'r') as f:
lines = f.read().split('\n')
header = []
langs = []
footer = []
for line in lines:
if not line.startswith(' '):
if not header:
header.append(line)
else:
footer.append(line)
else:
langs.append(line)
langs.append(" '{}',".format(self.wiki_lang))
langs.sort()
with open('templates/helpers/langlist.tmpl', 'w') as f:
f.write('\n'.join(footer) + '\n'.join(langs) + '\n'.join(footer))