0
0
mirror of https://github.com/schwabe/ics-openvpn.git synced 2024-09-20 03:52:27 +02:00
openvpn-android/misc/genFAQ.py
Arne Schwabe 0ccf804fb6 Move files around
--HG--
rename : LICENSE.txt => doc/LICENSE.txt
rename : README.txt => doc/README.txt
rename : todo.txt => doc/todo.txt
rename : genFAQ.py => misc/genFAQ.py
2013-05-29 21:53:38 +02:00

105 lines
2.7 KiB
Python
Executable File

#!/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):
ostr=""
if strid in strres[lang]:
ostr=strres[lang][strid]
else:
ostr=strres["default"][strid]
ostr = ostr.replace("&lt;","<")
ostr = ostr.replace("&gt;",">")
ostr = ostr.replace("\\\"","\"")
ostr = ostr.replace("\\'","'")
ostr = ostr.replace("\\n","<p>")
return ostr
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-") and directory.find("-sw")==-1:
lang = directory.split("-",1)[1]
print lang
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)
faq= genPage(faqdom,lang)
open("%s/FAQ.wiki" % langdir,"w").write(faq.encode("utf-8"))
if __name__=="__main__":
main()