making PO/POT/... update scripts py3.2 compatible + making it almost win compatible

Adding from codecs import open + the encoding in update_pot.py so it works for python 3.2.
Now it should be easier to replace the executable folders in the first lines of the file.
It now also works if you are in the same folder as the .po files (i.e. os.path.dirname(__FILE__) is empty)

It's still not working for me on Mingw because I need gettext 1.8 and so far I found only the 1.7
(in 1.7 msgmerge --lang is not supported)
This commit is contained in:
Dalai Felinto 2011-09-29 06:34:58 +00:00
parent 9465efd401
commit 9701a58fec
4 changed files with 12 additions and 9 deletions

@ -27,7 +27,8 @@ import subprocess
import os
import sys
CURRENT_DIR = os.path.dirname(__file__)
GETTEXT_MSGFMT_EXECUTABLE = "msgfmt"
CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))
SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.join(CURRENT_DIR, "..")))
LOCALE_DIR = os.path.join(SOURCE_DIR, "release", "bin", ".blender", "locale")
@ -38,7 +39,7 @@ def process_po(po):
lang = os.path.basename(po)[:-3]
# show stats
cmd = ("msgfmt",
cmd = (GETTEXT_MSGFMT_EXECUTABLE,
"--statistics",
os.path.join(CURRENT_DIR, "%s.po" % lang),
"-o",

@ -26,7 +26,7 @@
import os
CURRENT_DIR = os.path.dirname(__file__)
CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))
SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.join(CURRENT_DIR, "..")))
FILE_NAME_MESSAGES = os.path.join(CURRENT_DIR, "messages.txt")

@ -27,7 +27,8 @@ import subprocess
import os
import sys
CURRENT_DIR = os.path.dirname(__file__)
GETTEXT_MSGMERGE_EXECUTABLE = "msgmerge"
CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))
DOMAIN = "blender"
@ -35,7 +36,7 @@ def process_po(po):
lang = os.path.basename(po)[:-3]
# update po file
cmd = ("msgmerge",
cmd = (GETTEXT_MSGMERGE_EXECUTABLE,
"--update",
"--lang=%s" % lang,
os.path.join(CURRENT_DIR, "%s.po" % lang),

@ -25,9 +25,10 @@
import subprocess
import os
from codecs import open
GETTEXT_XGETTEXT_EXECUTABLE = "xgettext"
CURRENT_DIR = os.path.dirname(__file__)
CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))
SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.join(CURRENT_DIR, "..")))
DOMAIN = "blender"
@ -55,7 +56,7 @@ def main():
pot_messages = {}
reading_message = False
message = ""
with open(FILE_NAME_POT, 'r') as handle:
with open(FILE_NAME_POT, 'r', "utf-8") as handle:
while True:
line = handle.readline()
@ -73,8 +74,8 @@ def main():
message += line[1:-1]
# add messages collected automatically from RNA
with open(FILE_NAME_POT, "a") as pot_handle:
with open(FILE_NAME_MESSAGES, 'r') as handle:
with open(FILE_NAME_POT, "a", "utf-8") as pot_handle:
with open(FILE_NAME_MESSAGES, 'r', "utf-8") as handle:
while True:
line = handle.readline()