SPECS: spec_utf8 - report conversion errors to stderr
arekm
arekm at pld-linux.org
Sun Feb 11 16:26:06 CET 2007
Author: arekm Date: Sun Feb 11 15:26:06 2007 GMT
Module: SPECS Tag: HEAD
---- Log message:
- report conversion errors to stderr
---- Files affected:
SPECS:
spec_utf8 (1.7 -> 1.8)
---- Diffs:
================================================================
Index: SPECS/spec_utf8
diff -u SPECS/spec_utf8:1.7 SPECS/spec_utf8:1.8
--- SPECS/spec_utf8:1.7 Sun Feb 11 16:19:43 2007
+++ SPECS/spec_utf8 Sun Feb 11 16:26:01 2007
@@ -57,6 +57,7 @@
return (enc, pure_lang)
def parse_spec(infile, outfile):
+ success = True
re_summary = re.compile("^Summary\(([^\)]+)\):\t+(.*)$")
re_utf = re.compile("^utf-8$", re.I)
re_desc = re.compile("^(%description.*\s)-l\s+([\S]+)($|\s.*$)")
@@ -75,6 +76,7 @@
(enc, pure_lang) = find_encoding(r.group(2))
if enc == None:
outfile.write("#spec_utf8: unknown lang code in %%description -l %s\n" % (r.group(2)))
+ success = False
elif not re_utf.search(enc):
in_desc = True
outline = "%s-l %s.UTF-8%s\n" % (r.group(1), pure_lang, r.group(3))
@@ -88,6 +90,7 @@
outline = unicode(l, enc).encode("UTF-8")
except UnicodeDecodeError:
outfile.write("#spec_utf8: transcoding error %%description -l %s\n" % (r.group(2)))
+ success = False
elif in_changelog:
try:
outline = unicode(l, "UTF-8").encode("UTF-8")
@@ -96,6 +99,7 @@
outline = unicode(l, "ISO-8859-2").encode("UTF-8")
except UnicodeDecodeError:
outfile.write("#spec_utf8: transcoding next line from Latin2 failed\n")
+ success = False
else:
# Summary
r = re_summary.match(l)
@@ -103,12 +107,14 @@
(enc, pure_lang) = find_encoding(r.group(1))
if enc == None:
outfile.write("#spec_utf8: unknow lang code Summary(%s)\n" % (r.group(1)))
+ success = False
elif not re_utf.search(enc):
try:
desc = unicode(r.group(2), enc).encode("UTF-8")
outline = "Summary(%s.UTF-8): %s\n" % (pure_lang, desc)
except UnicodeDecodeError:
outfile.write("#spec_utf8: ranscoding error Summary(%s)\n" % (r.group(1)))
+ success = False
elif re_changelog.match(l):
# %changelog start
in_changelog = True
@@ -116,6 +122,7 @@
if debug: outfile.write("%s, %s\n"% (in_desc, in_changelog))
outfile.write("%s"% (outline, ))
+ return success
def main(argv):
print "Converting %s ..." % argv[1]
@@ -125,7 +132,8 @@
f.close()
sio.seek(0)
f = open(argv[1] + '.tmp', 'w')
- parse_spec(sio, f)
+ if not parse_spec(sio, f):
+ sys.stderr.write(" Problems while converting %s.\n" % argv[1])
f.close()
os.rename(argv[1] + '.tmp', argv[1])
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SPECS/spec_utf8?r1=1.7&r2=1.8&f=u
More information about the pld-cvs-commit
mailing list