summaryrefslogtreecommitdiffstats
path: root/helpcontent2/help-to-wiki.py
diff options
context:
space:
mode:
Diffstat (limited to 'helpcontent2/help-to-wiki.py')
-rwxr-xr-xhelpcontent2/help-to-wiki.py114
1 files changed, 114 insertions, 0 deletions
diff --git a/helpcontent2/help-to-wiki.py b/helpcontent2/help-to-wiki.py
new file mode 100755
index 000000000..448a1dac0
--- /dev/null
+++ b/helpcontent2/help-to-wiki.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env python
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+import sys, os, getopt, signal
+
+sys.path.append(sys.path[0]+"/to-wiki")
+import wikiconv2
+import getalltitles
+
+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
+-t, --title-savefile - save the title file
+
+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 (fully translated or otherwise important)
+langs = ['', 'ast', 'bg', 'bn', 'bn-IN', 'ca', 'cs', 'da', 'de', \
+ 'el', 'es', 'eu', 'fi', 'fr', 'hu', 'it', 'ja', 'km', \
+ 'ko', 'nb', 'nl', 'om', 'pl', 'pt', 'pt-BR', 'ru', \
+ 'sl', 'sv', 'tr', 'vi', 'zh-CN', 'zh-TW' ]
+
+# Argument handling
+try:
+ opts, args = getopt.getopt(sys.argv[1:], 'hnrt', ['help', 'no-translations', 'redirects', 'title-savefile'])
+except getopt.GetoptError:
+ usage()
+ sys.exit(1)
+
+generate_redirects = False
+title_savefile = 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
+ elif opt in ('-t', '--title-savefile'):
+ title_savefile = 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..."
+title_data = getalltitles.gettitles("source/text")
+if title_savefile:
+ with open ('alltitles.csv', 'w') as f:
+ for d in title_data:
+ f.write('%s;%s;%s\n' % (d[0], d[1], d[2]))
+
+try:
+ po_path = args[0]
+except:
+ po_path = '../translations/source'
+ sys.stderr.write('Path to the .po files not provided, using "%s"\n'% po_path)
+
+# do the work
+for lang in langs:
+ wikiconv2.convert(title_data, generate_redirects, lang, '%s/%s/helpcontent2/source'% (po_path, lang))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab: