[MediaWiki-commits] [Gerrit] Add Chinese dialects to template script - change (apps...wikipedia)
jenkins-bot has submitted this change and it was merged. Change subject: Add Chinese dialects to template script .. Add Chinese dialects to template script - Add Simplified and Traditional dialects to template script. - Update FileAlias, MainPageName, and SpecialAlias files with updated template script. Change-Id: Ic2d351a93d0a26dce41d31b3b9f918b838331f26 --- M scripts/make-templates.py M wikipedia/src/main/java/org/wikipedia/staticdata/FileAliasData.java M wikipedia/src/main/java/org/wikipedia/staticdata/MainPageNameData.java M wikipedia/src/main/java/org/wikipedia/staticdata/SpecialAliasData.java 4 files changed, 483 insertions(+), 436 deletions(-) Approvals: Dbrant: Looks good to me, approved jenkins-bot: Verified diff --git a/scripts/make-templates.py b/scripts/make-templates.py index d3395ad..3e574a2 100755 --- a/scripts/make-templates.py +++ b/scripts/make-templates.py @@ -1,4 +1,7 @@ #!/usr/bin/env python +# coding=utf-8 + +import copy import os import json import unicodecsv as csv @@ -6,6 +9,10 @@ from urllib2 import urlopen from jinja2 import Environment, FileSystemLoader + +CHINESE_WIKI_LANG = zh +SIMPLIFIED_CHINESE_LANG = zh-hans +TRADITIONAL_CHINESE_LANG = zh-hant # Wikis that cause problems and hence we pretend # do not exist. @@ -33,19 +40,24 @@ os.path.join(os.path.dirname(os.path.realpath(__file__)), utemplates) )) -def get_filtered_wiki_list(self): -return [wiki for wiki in self.wikis if wiki.lang not in OSTRITCH_WIKIS] - def render(self, template, class_name, **kwargs): data = { uclass_name: class_name, -uwikis: self.get_filtered_wiki_list() +uwikis: self.wikis } data.update(kwargs) rendered = self.template_env.get_template(template).render(**data) out = codecs.open(class_name + u.java, uw, uutf-8) out.write(rendered) out.close() + + +def build_wiki(lang, english_name, local_name, total_pages=0): +wiki = Wiki(lang) +wiki.props[english_name] = english_name +wiki.props[local_name] = local_name +wiki.props[total_pages] = total_pages +return wiki def list_from_wikistats(): @@ -60,20 +72,46 @@ if is_first: is_first = False continue # skip headers -wiki = Wiki(row[2]) -wiki.props[uenglish_name] = row[1] -wiki.props[ulocal_name] = row[10] -wiki.props[utotal_pages] = row[3] +wiki = build_wiki(lang=row[2], english_name=row[1], local_name=row[10], + total_pages=row[3]) wikis.append(wiki) -# Manually add TestWiki to this list -testWiki = Wiki(utest) -testWiki.props[uenglish_name] = Test -testWiki.props[ulocal_name] = Test -testWiki.props[utotal_pages] = 0 -wikis.append(testWiki) +return wikis -return WikiList(wikis) + +# Remove unsupported wikis. +def filter_supported_wikis(wikis): +return [wiki for wiki in wikis if wiki.lang not in OSTRITCH_WIKIS] + + +# Apply manual tweaks to the list of wikis before they're populated. +def preprocess_wikis(wikis): +# Add TestWiki. +wikis.append(build_wiki(lang=test, english_name=Test, local_name=Test, + total_pages=0)) + +return wikis + + +# Apply manual tweaks to the list of wikis after they're populated. +def postprocess_wikis(wiki_list): +# Add Simplified and Traditional Chinese dialects. +chineseWiki = next((wiki for wiki in wiki_list.wikis if wiki.lang == CHINESE_WIKI_LANG), None) +chineseWikiIndex = wiki_list.wikis.index(chineseWiki) + +simplifiedWiki = copy.deepcopy(chineseWiki) +simplifiedWiki.lang = SIMPLIFIED_CHINESE_LANG +simplifiedWiki.props[english_name] = Simplified Chinese +simplifiedWiki.props[local_name] = 简体 +wiki_list.wikis.insert(chineseWikiIndex + 1, simplifiedWiki) + +traditionalWiki = copy.deepcopy(chineseWiki) +traditionalWiki.lang = TRADITIONAL_CHINESE_LANG +traditionalWiki.props[english_name] = Traditional Chinese +traditionalWiki.props[local_name] = 繁體 +wiki_list.wikis.insert(chineseWikiIndex + 2, traditionalWiki) + +return wiki_list # Populate the aliases for Special: and File: in all wikis @@ -132,12 +170,16 @@ chain( list_from_wikistats, +filter_supported_wikis, +preprocess_wikis, +WikiList, populate_aliases, +populate_main_pages, +postprocess_wikis, render_template(ubasichash.java.jinja, uSpecialAliasData, key=uspecial_alias), render_template(ubasichash.java.jinja, uFileAliasData, key=ufile_alias), render_simple_json(uspecial_alias, uspecialalias.json), render_simple_json(ufile_alias, ufilealias.json), -populate_main_pages, render_template(ubasichash.java.jinja, uMainPageNameData, key=umain_page_name), render_simple_json(umain_page_name, umainpages.json) ) diff
[MediaWiki-commits] [Gerrit] Add Chinese dialects to template script - change (apps...wikipedia)
Niedzielski has uploaded a new change for review. https://gerrit.wikimedia.org/r/217750 Change subject: Add Chinese dialects to template script .. Add Chinese dialects to template script - Add Simplified and Traditional dialects to template script. - Update FileAlias, MainPageName, and SpecialAlias files with updated template script. Change-Id: Ic2d351a93d0a26dce41d31b3b9f918b838331f26 --- M scripts/make-templates.py M wikipedia/src/main/java/org/wikipedia/staticdata/FileAliasData.java M wikipedia/src/main/java/org/wikipedia/staticdata/MainPageNameData.java M wikipedia/src/main/java/org/wikipedia/staticdata/SpecialAliasData.java 4 files changed, 483 insertions(+), 436 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/50/217750/1 diff --git a/scripts/make-templates.py b/scripts/make-templates.py index d3395ad..3e574a2 100755 --- a/scripts/make-templates.py +++ b/scripts/make-templates.py @@ -1,4 +1,7 @@ #!/usr/bin/env python +# coding=utf-8 + +import copy import os import json import unicodecsv as csv @@ -6,6 +9,10 @@ from urllib2 import urlopen from jinja2 import Environment, FileSystemLoader + +CHINESE_WIKI_LANG = zh +SIMPLIFIED_CHINESE_LANG = zh-hans +TRADITIONAL_CHINESE_LANG = zh-hant # Wikis that cause problems and hence we pretend # do not exist. @@ -33,19 +40,24 @@ os.path.join(os.path.dirname(os.path.realpath(__file__)), utemplates) )) -def get_filtered_wiki_list(self): -return [wiki for wiki in self.wikis if wiki.lang not in OSTRITCH_WIKIS] - def render(self, template, class_name, **kwargs): data = { uclass_name: class_name, -uwikis: self.get_filtered_wiki_list() +uwikis: self.wikis } data.update(kwargs) rendered = self.template_env.get_template(template).render(**data) out = codecs.open(class_name + u.java, uw, uutf-8) out.write(rendered) out.close() + + +def build_wiki(lang, english_name, local_name, total_pages=0): +wiki = Wiki(lang) +wiki.props[english_name] = english_name +wiki.props[local_name] = local_name +wiki.props[total_pages] = total_pages +return wiki def list_from_wikistats(): @@ -60,20 +72,46 @@ if is_first: is_first = False continue # skip headers -wiki = Wiki(row[2]) -wiki.props[uenglish_name] = row[1] -wiki.props[ulocal_name] = row[10] -wiki.props[utotal_pages] = row[3] +wiki = build_wiki(lang=row[2], english_name=row[1], local_name=row[10], + total_pages=row[3]) wikis.append(wiki) -# Manually add TestWiki to this list -testWiki = Wiki(utest) -testWiki.props[uenglish_name] = Test -testWiki.props[ulocal_name] = Test -testWiki.props[utotal_pages] = 0 -wikis.append(testWiki) +return wikis -return WikiList(wikis) + +# Remove unsupported wikis. +def filter_supported_wikis(wikis): +return [wiki for wiki in wikis if wiki.lang not in OSTRITCH_WIKIS] + + +# Apply manual tweaks to the list of wikis before they're populated. +def preprocess_wikis(wikis): +# Add TestWiki. +wikis.append(build_wiki(lang=test, english_name=Test, local_name=Test, + total_pages=0)) + +return wikis + + +# Apply manual tweaks to the list of wikis after they're populated. +def postprocess_wikis(wiki_list): +# Add Simplified and Traditional Chinese dialects. +chineseWiki = next((wiki for wiki in wiki_list.wikis if wiki.lang == CHINESE_WIKI_LANG), None) +chineseWikiIndex = wiki_list.wikis.index(chineseWiki) + +simplifiedWiki = copy.deepcopy(chineseWiki) +simplifiedWiki.lang = SIMPLIFIED_CHINESE_LANG +simplifiedWiki.props[english_name] = Simplified Chinese +simplifiedWiki.props[local_name] = 简体 +wiki_list.wikis.insert(chineseWikiIndex + 1, simplifiedWiki) + +traditionalWiki = copy.deepcopy(chineseWiki) +traditionalWiki.lang = TRADITIONAL_CHINESE_LANG +traditionalWiki.props[english_name] = Traditional Chinese +traditionalWiki.props[local_name] = 繁體 +wiki_list.wikis.insert(chineseWikiIndex + 2, traditionalWiki) + +return wiki_list # Populate the aliases for Special: and File: in all wikis @@ -132,12 +170,16 @@ chain( list_from_wikistats, +filter_supported_wikis, +preprocess_wikis, +WikiList, populate_aliases, +populate_main_pages, +postprocess_wikis, render_template(ubasichash.java.jinja, uSpecialAliasData, key=uspecial_alias), render_template(ubasichash.java.jinja, uFileAliasData, key=ufile_alias), render_simple_json(uspecial_alias, uspecialalias.json), render_simple_json(ufile_alias, ufilealias.json), -populate_main_pages, render_template(ubasichash.java.jinja, uMainPageNameData, key=umain_page_name),