Bring the magic of codecs to the i18n script masses
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 9 Jul 2009 03:06:20 +0000 (03:06 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 9 Jul 2009 03:06:20 +0000 (03:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@13549 dcc99617-32d9-48b4-a31d-7c20da2025e4

build/i18n/scripts/dojo_resource.py
build/i18n/scripts/ils_events.py
build/i18n/scripts/marc_tooltip_maker.py
build/i18n/scripts/merge_ils_events.py

index 3134826..2320f2a 100755 (executable)
@@ -28,6 +28,7 @@ allowed by http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.string.substitute
 # GNU General Public License for more details.
 
 import basel10n
+import codecs
 import optparse
 import polib
 import re
@@ -57,7 +58,7 @@ class DojoResource (basel10n.BaseL10N):
         # Avoid generating duplicate entries by keeping track of msgids
         msgids = dict()
 
-        bundle = simplejson.load(open(source, 'r'))
+        bundle = simplejson.load(codecs.open(source, encoding='utf-8', mode='r'))
 
         for key, value in bundle.iteritems():
             if value in msgids:
@@ -115,7 +116,7 @@ def main():
         pot.loadpo(options.create)
         pot.create_bundle()
         if options.outfile:
-            outfile = open(options.outfile, 'w')
+            outfile = codecs.open(options.outfile, encoding='utf-8', mode='w')
             simplejson.dump(pot.msgs, outfile, indent=4)
         else:
             print(simplejson.dumps(pot.msgs, indent=4))
index 0efb37d..1b8193c 100755 (executable)
@@ -33,6 +33,7 @@ This generates an updated file with the following structure:
 # GNU General Public License for more details.
 
 import basel10n
+import codecs
 import optparse
 import polib
 import re
@@ -204,7 +205,7 @@ def main():
         pot.loadpo(options.create)
         pot.create_events()
         if options.outfile:
-            outfile = open(options.outfile, 'w')
+            outfile = codecs.open(options.outfile, encoding='utf-8', mode='w')
             outfile.write(head)
             for event in pot.definitions: 
                 outfile.write(event + "\n")
index 3979766..90b6068 100644 (file)
@@ -279,6 +279,7 @@ def process_tag(tag):
     return field
 
 if __name__ == '__main__':
+    import codecs
     import copy
     import os
     import re
@@ -292,7 +293,7 @@ if __name__ == '__main__':
         if (not re.compile(r'^040010-1\d\d\d-f.html').search(filename)):
             continue
         print filename
-        devnull = open('/dev/null', 'w')
+        devnull = codecs.open('/dev/null', encoding='utf-8', mode='w')
         file = subprocess.Popen(
             ('tidy', '-asxml', '-n', '-q', '-utf8', filename),
             stdout=subprocess.PIPE, stderr=devnull).communicate()[0]
@@ -310,6 +311,6 @@ if __name__ == '__main__':
             if (field):
                 ALL_MY_FIELDS.add_field(field)
 
-    MARCOUT = open('marcedit-tooltips-fr.xml', 'w')
+    MARCOUT = codecs.open('marcedit-tooltips-fr.xml', encoding='utf-8', mode='w')
     MARCOUT.write(ALL_MY_FIELDS.to_xml().encode('UTF-8'))
     MARCOUT.close()
index 0e88455..4a91bbb 100755 (executable)
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+import codecs
 import xml.dom.minidom
 import optparse
 
@@ -76,7 +77,7 @@ def main():
         merged = merge_events(options.master, options.localization)
 
     if options.outfile:
-        outfile = open(options.outfile, 'w')
+        outfile = codecs.open(options.outfile, encoding='utf-8', mode='w')
         if options.pretty:
             outfile.write(merged.toprettyxml(encoding='utf-8'))
         else: