| 12
 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:
 |