diff options
author | scop <scop@e10066b5-e1e2-0310-b819-94efdf66514b> | 2008-01-01 12:03:39 +0000 |
---|---|---|
committer | scop <scop@e10066b5-e1e2-0310-b819-94efdf66514b> | 2008-01-01 12:03:39 +0000 |
commit | 421c3be38efa1f5519f70efdab6ecb5436449cca (patch) | |
tree | 510f32a3f57ac9a77a89e68839dce410f7b49a47 | |
parent | 0c0fd1261087b45bf8dd3490f3674d10f97bc083 (diff) | |
download | vdr-plugin-muggle-421c3be38efa1f5519f70efdab6ecb5436449cca.tar.gz vdr-plugin-muggle-421c3be38efa1f5519f70efdab6ecb5436449cca.tar.bz2 |
New version from iso-codes 1.7, Python 2.5 compatible etc.
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@972 e10066b5-e1e2-0310-b819-94efdf66514b
-rwxr-xr-x | scripts/iso639tab.py | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/scripts/iso639tab.py b/scripts/iso639tab.py index b2739c9..23f095e 100755 --- a/scripts/iso639tab.py +++ b/scripts/iso639tab.py @@ -1,18 +1,19 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Read iso-codes iso_639.xml data file and output a .tab file # # Copyright (C) 2005 Alastair McKinstry <mckinstry@debian.org> # Released under the GPL. -# $Id: iso639tab.py,v 1.1 2005/03/02 07:24:51 mckinstry Exp $ +# $Id: iso639tab.py 929 2007-07-23 10:28:20Z toddy-guest $ -from xml.sax import saxutils, make_parser, saxlib, saxexts, ContentHandler -from xml.sax.handler import feature_namespaces +from xml.sax import make_parser, SAXException, SAXParseException +from xml.sax.handler import feature_namespaces, ContentHandler import sys, os, getopt, urllib2 -class printLines(saxutils.DefaultHandler): - def __init__(self, ofile): - self.ofile = ofile +lines = [] +class printLines(ContentHandler): + def __init__(self): + pass def startElement(self, name, attrs): if name != 'iso_639_entry': @@ -34,8 +35,7 @@ class printLines(saxutils.DefaultHandler): short_code=short_code.encode('UTF-8') if type(name) == unicode: name = name.encode('UTF-8') - self.ofile.write (t_code + '\t' + b_code + '\t' + short_code + '\t' + name + '\n') - + lines.append(t_code + '\t' + b_code + '\t' + short_code + '\t' + name + '\n') ## ## MAIN @@ -68,14 +68,20 @@ ofile.write(""" ## """) p = make_parser() -p.setErrorHandler(saxutils.ErrorPrinter()) try: - dh = printLines(ofile) + dh = printLines() p.setContentHandler(dh) p.parse(sys.argv[1]) -except IOError,e: - print in_sysID+": "+str(e) -except saxlib.SAXException,e: - print str(e) - +except SAXParseException, e: + sys.stderr.write('%s:%s:%s: %s\n' % (e.getSystemId(), + e.getLineNumber(), + e.getColumnNumber(), + e.getMessage())) + sys.exit(1) +except Exception, e: + sys.stderr.write('<unknown>: %s\n' % str(e)) + sys.exit(1) +lines.sort() +for l in lines: + ofile.write(l) ofile.close() |