]> git.pld-linux.org Git - packages/rpm-build-tools.git/commitdiff
- report conversion errors to stderr
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 11 Feb 2007 15:26:01 +0000 (15:26 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    spec_utf8 -> 1.8

spec_utf8

index a15082116a61a26f87a326f799c705839f9beaa3..d243cb4c7f0ad3934d7d53fbc54e0ec7ca83c81e 100644 (file)
--- a/spec_utf8
+++ b/spec_utf8
@@ -57,6 +57,7 @@ def find_encoding(lang):
   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 @@ def parse_spec(infile, outfile):
       (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 @@ def parse_spec(infile, outfile):
             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 @@ def parse_spec(infile, outfile):
           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 @@ def parse_spec(infile, outfile):
         (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 @@ def parse_spec(infile, outfile):
     
     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 @@ def main(argv):
   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])
 
This page took 0.028432 seconds and 4 git commands to generate.