view MoinMoin/i18n/po2wiki.py @ 0:77665d8e2254

tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0 (automatically generated log message) imported from: moin--main--1.5--base-0
author Thomas Waldmann <tw-public@gmx.de>
date Thu, 22 Sep 2005 15:09:50 +0000
parents
children 33b9a41e43bc
line wrap: on
line source

#!/usr/bin/python
"""
    remove everthing top of the first msgid line (PIs destroyed by gettext),
    prepend some processing instructions to a .po file to be able to put it
    onto moinmaster wiki, letting it get processed by gettext parser
"""
import sys, xmlrpclib
sys.path.insert(0, '../..')

excluded = ["en", "he"] # languages managed in tla repository, not in wiki

lang = sys.argv[1]
lang = lang.replace('_', '-') # module names use _ instead of -

data = sys.stdin.read()

if lang in excluded:
    f = open("%s.po" % lang, "w")
    f.write(data)
    f.close()
    sys.exit(0)
    
data = data.decode('utf-8')

cutpos = data.index(u"msgid")
data = data[cutpos:] # remove comments at top

data = u"""\
## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:None
##master-date:None
#acl MoinPagesEditorGroup:read,write,delete,revert All:read
#format gettext
#language %s

#
# MoinMoin %s system text translation
#
%s""" % (lang, lang, data)


from MoinMoin.support.BasicAuthTransport import BasicAuthTransport

user = "ThomasWaldmann" # must be a known Wiki account
password = "wrong"
pagename = "MoinI18n/%s" % lang
pagedata = data.encode('utf-8')

authtrans = BasicAuthTransport(user, password)
wiki = xmlrpclib.ServerProxy("http://moinmaster.wikiwikiweb.de/?action=xmlrpc2", transport=authtrans)

rc = wiki.putPage(pagename, pagedata)
print "Page: %s rc=%s" % (pagename, rc)