summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--docgen.py31
2 files changed, 21 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am
index 8985128..e420332 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -10,7 +10,7 @@ caja-dropbox: caja-dropbox.in serializeimages.py
chmod +x caja-dropbox
caja-dropbox.1: caja-dropbox.txt.in caja-dropbox docgen.py
- python docgen.py $(PACKAGE_VERSION) < caja-dropbox.txt.in > caja-dropbox.txt
+ python docgen.py $(PACKAGE_VERSION) caja-dropbox.txt.in caja-dropbox.txt
$(RST2MAN) caja-dropbox.txt > caja-dropbox.1
SUBDIRS = data src
diff --git a/docgen.py b/docgen.py
index 2ed8ad9..e1afa17 100644
--- a/docgen.py
+++ b/docgen.py
@@ -1,25 +1,34 @@
+from __future__ import unicode_literals
import sys
import datetime
+import codecs
# heeeheee
env = {"__name__":"__notmain__"}
execfile("caja-dropbox", env)
commands = env["commands"]
-f = open("AUTHORS", "r")
-authors = '| ' + f.read().replace('\n', '\n| ')
-f.close()
+with codecs.open("AUTHORS", "r", "utf-8") as afile:
+ authors = '| ' + afile.read().replace('\n', '\n| ')
+
+with codecs.open(sys.argv[2], "r", encoding="utf-8") as infile:
+ instr = infile.read()
formatted_commands = ""
for cmd in commands:
split = commands[cmd].__doc__.split('\n', 2)
- formatted_commands += split[1].decode('ascii').replace(cmd, "`%s`" % cmd).replace("dropbox", "``dropbox``")
- formatted_commands += split[2].decode('ascii').replace('\n', '\n | ')
+ formatted_commands += split[1].replace(cmd, "`%s`" % cmd).replace("dropbox", "``dropbox``")
+ formatted_commands += split[2].replace('\n', '\n | ')
formatted_commands += '\n\n'
-sys.stdout.write(sys.stdin.read().replace\
- ('@AUTHORS@', authors).replace\
- ('@DATE@', datetime.date.today().isoformat()).replace\
- ('@PACKAGE_VERSION@', sys.argv[1]).replace\
- ('@SYNOPSIS@', '| '+'\n| '.join(commands[cmd].__doc__.split('\n', 2)[1].decode('ascii').replace(cmd, "`%s`" % cmd).replace("dropbox", "``dropbox``") for cmd in commands)).replace\
- ('@COMMANDS@', formatted_commands))
+replace = {'@AUTHORS@': authors,
+ '@DATE@': datetime.date.today().isoformat(),
+ '@PACKAGE_VERSION@': sys.argv[1],
+ '@SYNOPSIS@': '| '+'\n| '.join(commands[cmd].__doc__.split('\n', 2)[1].replace(cmd, "`%s`" % cmd).replace("dropbox", "``dropbox``") for cmd in commands),
+ '@COMMANDS@': formatted_commands}
+
+for r in replace.keys():
+ instr = instr.replace(r, replace[r])
+
+with codecs.open(sys.argv[3], "w", encoding="utf-8") as outfile:
+ outfile.write(instr)