summaryrefslogtreecommitdiff
path: root/genFAQ.py
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2012-11-20 22:18:08 +0100
committerArne Schwabe <arne@rfc2549.org>2012-11-20 22:18:08 +0100
commit5185087bfc481f45e4dda8a0f23e701bb1e9add7 (patch)
treeac8da329a247a0c6f887daa943df45900b6f6b46 /genFAQ.py
parent25e680bf2d4391709cd45bc0b55f3a220885357f (diff)
Add script to generate FAQ in the google CODE project.
Diffstat (limited to 'genFAQ.py')
-rwxr-xr-xgenFAQ.py96
1 files changed, 96 insertions, 0 deletions
diff --git a/genFAQ.py b/genFAQ.py
new file mode 100755
index 00000000..1815f7a2
--- /dev/null
+++ b/genFAQ.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+# Quick and dirty script to generate googlecode wiki pages
+
+import codecs
+import xml.dom.minidom as dom
+import os.path
+
+faqpath = "/Users/arne/oss/ics-openvpn.wiki"
+
+header="""
+<wiki:comment>
+This page is autogenerated. Do not edit
+</wiki:comment>
+
+= Frequently aksed questions =
+"""
+
+def getString(strid,lang):
+ if strid in strres[lang]:
+ return strres[lang][strid]
+ else:
+ return strres["default"][strid]
+
+def genPage(faqdom,lang):
+ out =""
+
+ out+="#summary %s\n" % getString("faq_summary",lang)
+ out+= header
+
+ for xmld in faqdom.firstChild.childNodes:
+ for xmle in xmld.childNodes:
+ if xmle.nodeName == "TextView":
+ style = xmle.getAttribute("style")
+
+ textstyle = None
+ if style == "@style/faqhead":
+ textstyle = "== %s ==\n"
+ elif style == "@style/faqitem":
+ textstyle = "%s\n"
+
+ atext = xmle.getAttribute("android:text")
+ aid = xmle.getAttribute("android:id")
+ if atext:
+ atextid = atext.replace("@string/","")
+ else:
+ atextid = aid.replace("@+id/","")
+
+ out += textstyle % getString(atextid,lang)
+
+ return out
+
+
+strres={}
+
+def loadstrres(filename,lang):
+ xmlstr = dom.parse(filename)
+ strres[lang]={}
+ for xmld in xmlstr.childNodes:
+ for xmle in xmld.childNodes:
+ if xmle.nodeName == "string":
+ strname= xmle.getAttribute("name")
+ strdata = xmle.firstChild.data
+ strres[lang][strname]=strdata
+
+
+def main():
+
+ loadstrres("res/values/strings.xml","default")
+
+ faqdom = dom.parse("res/layout/faq.xml")
+ faq= genPage(faqdom,"default")
+
+ open(faqpath + "/FAQ.wiki","w").write(faq)
+
+ for directory in os.listdir("res"):
+ if directory.startswith("values-"):
+ lang = directory.split("-",1)[1]
+ loadstrres("res/values-%s/strings.xml" % lang,lang)
+
+ langdir= "%s/%s" %(faqpath,lang)
+ if lang=="zh-rCN":
+ langdir= "%s/%s" %(faqpath,"zh-Hans")
+ elif lang=="zh-rTW":
+ langdir= "%s/%s" %(faqpath,"zh-Hant")
+
+
+ if not os.path.exists(langdir):
+ os.mkdir(langdir)
+
+ print lang
+ faq= genPage(faqdom,lang)
+ open("%s/FAQ.wiki" % langdir,"w").write(faq.encode("utf-8"))
+
+
+if __name__=="__main__":
+ main()