Yuvipanda has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/130578

Change subject: Add script to generate main page names for all wiki
......................................................................

Add script to generate main page names for all wiki

Change-Id: I827e8c393d0df7ea845bd49c2fed06a940e24495
---
M scripts/make-templates.py
A scripts/templates/mainpagenames.java.jinja
2 files changed, 37 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/78/130578/1

diff --git a/scripts/make-templates.py b/scripts/make-templates.py
index b02014f..1227e90 100644
--- a/scripts/make-templates.py
+++ b/scripts/make-templates.py
@@ -77,6 +77,14 @@
     return wikis
 
 
+def populate_main_pages(wikis):
+    for wiki in wikis.wikis:
+        print "Fetching Main Page for %s" % wiki.lang
+        url = 
u"https://%s.wikipedia.org/w/api.php?action=query&meta=allmessages&format=json&ammessages=Mainpage";
 % wiki.lang
+        data = json.load(urlopen(url))
+        wiki.props[u'main_page_name'] = data['query']['allmessages'][0]['*']
+    return wikis
+
 # Returns a function that renders a particular template when passed
 # a WikiList object
 def render_template(template, filename):
@@ -96,5 +104,7 @@
 chain(
     list_from_wikistats,
     populate_special_alias,
-    render_template(u'specialalias.java.jinja', u'SpecialAliasData')
+    render_template(u'specialalias.java.jinja', u'SpecialAliasData'),
+    populate_main_pages,
+    render_template(u'mainpagenamess.java.jinja', u'MainPageNameData')
 )
diff --git a/scripts/templates/mainpagenames.java.jinja 
b/scripts/templates/mainpagenames.java.jinja
new file mode 100644
index 0000000..6d07de5
--- /dev/null
+++ b/scripts/templates/mainpagenames.java.jinja
@@ -0,0 +1,26 @@
+/* THIS IS AN AUTOMATICALLY GENERATED FILE
+   IF YOU MODIFY THIS BY HAND BE PREPARED!
+   TO HAVE YOUR CHANGES OVERWRITTEN */
+package org.wikipedia.staticdata;
+
+import java.util.*;
+
+public class {{ class_name }} {
+
+    private static HashMap<String, String> dataMap;
+    private static void setupData() {
+        dataMap = new HashMap<String, String>({{wikis|length}});
+
+        {%- for wiki in wikis %}
+        dataMap.put("{{wiki.lang}}", "{{wiki.props.main_page_name}}");
+        {%- endfor %}
+    }
+
+    public static String valueFor(String key) {
+        if (dataMap == null) {
+            setupData();
+        }
+        
+        return dataMap.get(key);
+    }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/130578
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I827e8c393d0df7ea845bd49c2fed06a940e24495
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to