[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Stripping 'charset=' from po files [the sequal]

From: Erik HŘlsmann <e.huelsmann_at_gmx.net>
Date: 2004-05-25 21:28:25 CEST
('binary' encoding is not supported, stored as-is) >>3) Do you have any comments to either script? (the strip charset script has
>>to be extended to include plural support before this code can be committed)
>>
>>
>I think this parser is overkill. How about something like this (just
>typing, not testing):

[ ... ]

>I don't think we need anything more complicated than this sed-like
>replacement in the Windows build.

Ok. How about the attached patch:

Log:
[[[
Add charset stripping to Windows build.

* build/generator/build_locale.ezt: Add intermediate .spo step
  also used in the Makefile build

* build/generator/gen_win.py (): Pass the base name instead of
  .po and .mo.
  (POFile.__Init__): Initialize fields fields from base parameter.

* build/strip-po-charset.py: New file. Contains the actual sed-like
  script.
]]]

Index: build/generator/build_locale.ezt
===================================================================
--- build/generator/build_locale.ezt (revision 9884)
+++ build/generator/build_locale.ezt (working copy)
@@ -2,8 +2,11 @@
 @rem **************************************************************************
 cd ..\..\subversion\po
 [for pofiles]echo Running msgfmt on [pofiles.po]...
-msgfmt.exe -o [pofiles.mo] [pofiles.po]
+python ..\..\build\strip-po-charset.py [pofiles.po] [pofiles.spo]
 if not errorlevel 0 goto err
+msgfmt.exe -o [pofiles.mo] [pofiles.spo]
+if not errorlevel 0 goto err
+del [pofiles.spo]
 [end]
 goto end
 @rem **************************************************************************
Index: build/generator/gen_win.py
===================================================================
--- build/generator/gen_win.py (revision 9884)
+++ build/generator/gen_win.py (working copy)
@@ -143,7 +143,7 @@
     if self.enable_nls:
       for po in os.listdir(os.path.join('subversion', 'po')):
         if fnmatch.fnmatch(po, '*.po'):
- pofiles.append(POFile(po, po[:-2] + 'mo'))
+ pofiles.append(POFile(po[:-3]))
     
     data = {'pofiles': pofiles}
     self.write_with_template(os.path.join('build', 'win32', 'build_locale.bat'),
@@ -706,6 +706,7 @@
 
 class POFile:
   "Item class for holding po file info"
- def __init__(self, po, mo):
- self.po = po
- self.mo = mo
+ def __init__(self, base):
+ self.po = base + '.po'
+ self.spo = base + '.spo'
+ self.mo = base + '.mo'
Index: build/strip-po-charset.py
===================================================================
--- build/strip-po-charset.py (revision 0)
+++ build/strip-po-charset.py (revision 0)
@@ -0,0 +1,23 @@
+#
+# strip-po-charset.py
+#
+
+import sys
+
+def strip_po_charset(inp, out):
+
+ for line in inp.xreadlines():
+ if line.find("\"Content-Type: text/plain; charset=UTF-8\\n\"") == -1:
+ out.write(line)
+
+
+def main():
+
+ if len(sys.argv) != 3:
+ print "Unsupported number of arguments; 2 required."
+ sys.exit(1)
+
+ strip_po_charset(open(sys.argv[1],'r'), open(sys.argv[2],'w'))
+
+if __name__ == '__main__':
+ main()

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 25 21:28:49 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.