1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
#!/usr/bin/env python
import sys, os, getopt, signal
sys.path.append(sys.path[0]+"/to-wiki")
import wikiconv2
# FIXME do proper modules from getalltitles & wikiconv2
# [so far this is in fact just a shell thing]
def usage():
print '''
help-to-wiki.py [params] [path to l10n]
Converts .xhp files into a wiki
-h, --help - this help
-n, --no-translations - generate only English pages
-r, --redirects - generate also redirect pages
Most probably, you want to generate the redirects only once when you initially
populate the wiki, and then only update the ones that broke.\n'''
def create_wiki_dirs():
dirs = [
"Common",
"Basic",
"Calc",
"Chart",
"Draw",
"Impress",
"Math",
"Writer",
"swriter",
"scalc",
"simpress",
"sdraw",
"smath",
"schart",
"sbasic",
"sdatabase"
]
try:
os.mkdir( "wiki" )
except:
sys.stdout.write( "wiki already generated - the wiki/ subdir exists\n" )
sys.exit( 1 )
for i in dirs:
try:
os.mkdir( "wiki/" + i )
except:
pass
# Langs to handle
langs = ['', 'ca', 'cs', 'da', 'de', 'es', 'fr', 'hu', \
'it', 'ja', 'ko', 'nl', 'pl', 'pt', 'pt-BR', 'ru', \
'sl', 'sv', 'vi', 'zh-CN', 'zh-TW' ]
# Argument handling
try:
opts, args = getopt.getopt(sys.argv[1:], 'hnr', ['help', 'no-translations', 'redirects'])
except getopt.GetoptError:
usage()
sys.exit(1)
generate_redirects = False
for opt, arg in opts:
if opt in ('-h', '--help'):
usage()
sys.exit()
elif opt in ('-n', '--no-translations'):
langs = ['']
elif opt in ('-r', '--redirects'):
generate_redirects = True
def signal_handler(signal, frame):
sys.stderr.write( 'Exiting...\n' )
sys.exit(1)
# Do the work
signal.signal(signal.SIGINT, signal_handler)
create_wiki_dirs()
print "Generating the titles..."
os.system( "python to-wiki/getalltitles.py source/text > alltitles.csv" )
try:
sdf_path = args[0]
except:
sdf_path = '../../translations/unxlngx6.pro/misc/sdf-l10n'
sys.stderr.write('Path to the .sdf files not provided, using "%s"\n'% sdf_path)
# do the work
for lang in langs:
wikiconv2.convert(generate_redirects, lang, '%s/%s.sdf'% (sdf_path, lang))
# vim:set shiftwidth=4 softtabstop=4 expandtab:
|