summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJulien Rioux <jrioux@physics.utoronto.ca>2012-10-05 17:43:24 -0400
committerJulien Rioux <jrioux@physics.utoronto.ca>2012-10-12 15:18:09 -0400
commitc6911c343c9eb17831220c416b5f100670af96e7 (patch)
treeeadfa691dc508b33e05edf167a57c753684db61d /scripts
parent71eebe83138ead38e2e6383f6a9f145985e30b08 (diff)
convert-ly: Exit with error status when errors occur.
Upon error, report the number of errors and exit with status 1.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/convert-ly.py25
1 files changed, 18 insertions, 7 deletions
diff --git a/scripts/convert-ly.py b/scripts/convert-ly.py
index 2772acc738..f0d2d95fe5 100644
--- a/scripts/convert-ly.py
+++ b/scripts/convert-ly.py
@@ -186,6 +186,7 @@ string."""
ly.progress (_ ("Applying conversion: "), newline = False)
last_conversion = ()
+ errors = 0
try:
if not conv_list:
last_conversion = to_version
@@ -202,8 +203,9 @@ string."""
ly.error (_ ("Error while converting")
+ '\n'
+ _ ("Stopping at last successful rule"))
+ errors += 1
- return (last_conversion, str)
+ return (last_conversion, str, errors)
@@ -256,7 +258,7 @@ def do_one_file (infile_name):
raise InvalidVersion (".".join ([str(n) for n in from_version]))
- (last, result) = do_conversion (input, from_version, to_version)
+ (last, result, errors) = do_conversion (input, from_version, to_version)
if last:
if global_options.force_current_version and last == to_version:
@@ -298,6 +300,8 @@ def do_one_file (infile_name):
sys.stderr.flush ()
+ return errors
+
def do_options ():
opt_parser = get_option_parser()
(options, args) = opt_parser.parse_args ()
@@ -331,18 +335,19 @@ def main ():
identify ()
+ errors = 0
for f in files:
if f == '-':
- f = ''
- elif not os.path.isfile (f):
+ continue
+ if not os.path.isfile (f):
ly.error (_ ("%s: Unable to open file") % f)
- if len (files) == 1:
- sys.exit (1)
+ errors += 1
continue
try:
- do_one_file (f)
+ errors += do_one_file (f)
except UnknownVersion:
ly.error (_ ("%s: Unable to determine version. Skipping") % f)
+ errors += 1
except InvalidVersion:
# Compat code for 2.x and 3.0 syntax ("except .. as v" doesn't
# work in python 2.4!):
@@ -350,6 +355,12 @@ def main ():
ly.error (_ ("%s: Invalid version string `%s' \n"
"Valid version strings consist of three numbers, "
"separated by dots, e.g. `2.8.12'") % (f, v.version) )
+ errors += 1
+
+ if errors:
+ ly.warning (ly.ungettext ("There was %d error.",
+ "There were %d errors.", errors) % errors)
+ sys.exit (1)
main ()