]> arthur.barton.de Git - bup.git/commitdiff
Check for and report errors the same way in all subcommands
authorAlexander Barton <alex@barton.de>
Wed, 31 Dec 2014 16:49:24 +0000 (17:49 +0100)
committerAlexander Barton <alex@barton.de>
Wed, 31 Dec 2014 17:48:51 +0000 (18:48 +0100)
Introduce new check_saved_errors() helper function that checks for
"saved errors", reports them, and exits the command with an error
exit code when appropriate.

Signed-off-by: Alexander Barton <alex@barton.de>
12 files changed:
cmd/bloom-cmd.py
cmd/cat-file-cmd.py
cmd/drecurse-cmd.py
cmd/index-cmd.py
cmd/list-idx-cmd.py
cmd/meta-cmd.py
cmd/midx-cmd.py
cmd/restore-cmd.py
cmd/save-cmd.py
cmd/split-cmd.py
cmd/xstat-cmd.py
lib/bup/helpers.py

index a826bfa417fb69725fe4063e9d751840229560c3..c5a3e7e47ccd1072ee641307f2636fbd219f4c87 100755 (executable)
@@ -157,8 +157,7 @@ for path in paths:
     else:
         do_bloom(path, outfilename)
 
-if saved_errors:
-    log('WARNING: %d errors encountered during bloom.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
 elif opt.check:
     log('All tests passed.')
index a2a6f68e3dc38c33f75ce24ee31fe9917c5e0135..a2fec12fd4388970256441b57629b97ee1238a40 100755 (executable)
@@ -57,6 +57,5 @@ else:
     else:
         o.fatal('%r is not a plain file' % target)
 
-if saved_errors:
-    log('warning: %d errors encountered' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index b6ab24533069a8b12fbd4aaa70dbdd3132c17e5f..9588835c97cf7c37f513362a0f8f2b71237b6dd2 100755 (executable)
@@ -43,6 +43,5 @@ else:
         for (name,st) in it:
             print name
 
-if saved_errors:
-    log('WARNING: %d errors encountered.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index ea5f017c4e7705d609d95c0be8b277d487124ce4..551d8064a85e4ad9a3b4b5cabdaf4e7355081d94 100755 (executable)
@@ -280,9 +280,8 @@ if opt['print'] or opt.status or opt.modified:
         print line + (name or './')
 
 if opt.check and (opt['print'] or opt.status or opt.modified or opt.update):
-    log('check: starting final check.')
+    log('Starting final index check ...')
     check_index(index.Reader(indexfile))
 
-if saved_errors:
-    log('WARNING: %d errors encountered.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index c3ecc229b6c970259a4a418fa3a6f6a3c82e5836..208cd03d2985ec4318f96e7b244774429f5312cd 100755 (executable)
@@ -51,6 +51,5 @@ for name in extra:
             count += 1
         progress_end('Searching done.')
 
-if saved_errors:
-    log('WARNING: %d errors encountered.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index 0d8a8c757798251d28cbf7e57d3cdc1722408e28..932de383c0722473aba4c7c3f4a543b3cb1e1b6c 100755 (executable)
@@ -10,7 +10,7 @@
 import sys
 from bup import metadata
 from bup import options
-from bup.helpers import handle_ctrl_c, log, saved_errors
+from bup.helpers import handle_ctrl_c, log, check_saved_errors
 
 
 def open_input(name):
@@ -153,8 +153,5 @@ elif opt.edit:
             f.close()
 
 
-if saved_errors:
-    log('WARNING: %d errors encountered.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
-else:
-    sys.exit(0)
index fbe7e9c76596d8cfa4f7951fae7fe1a69c1cc74b..7ae8e4241191b0b78368d82cbcebfc52e6ccc455 100755 (executable)
@@ -269,6 +269,5 @@ else:
     else:
         o.fatal("you must use -f or -a or provide input filenames")
 
-if saved_errors:
-    log('WARNING: %d errors encountered.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index 095b8ac7cd2a81ea5fb0fcaa6d157d3fb37d8b8e..0ce0a61319440b4774ad442c9748a68b4216c2bd 100755 (executable)
@@ -341,6 +341,5 @@ for d in extra:
 if not opt.quiet:
     progress_end('Restoring: %d, done.' % total_restored)
 
-if saved_errors:
-    log('WARNING: %d errors encountered while restoring.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index fdc621e89d60654667ef1fc5c4b6ee81f11cad71..1b3eff3fb5d527f9e4178fc74a8e920404af8260 100755 (executable)
@@ -455,6 +455,5 @@ if opt.name:
 if cli:
     cli.close()
 
-if saved_errors:
-    log('WARNING: %d errors encountered while saving.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index 39fea85d5748fe9099fce00f5c45d16124f2f39a..a6c15cd65d07290f4b07a34e6cc7df6d953fb590 100755 (executable)
@@ -193,6 +193,5 @@ if opt.bench:
     log('bup: %.2fkbytes in %.2f secs = %.2f kbytes/sec'
         % (size/1024., secs, size/1024./secs))
 
-if saved_errors:
-    log('WARNING: %d errors encountered while saving.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
index 9abe1e16988038f610a1019334cee148817b4b7b..9794a802498c89bd2b4a83fb2d447e4f2e5a91da 100755 (executable)
@@ -5,7 +5,7 @@
 # Public License as described in the bup LICENSE file.
 import sys, stat, errno
 from bup import metadata, options, xstat
-from bup.helpers import handle_ctrl_c, parse_timestamp, saved_errors, \
+from bup.helpers import handle_ctrl_c, parse_timestamp, check_saved_errors, \
     add_error, log
 
 
@@ -95,8 +95,5 @@ for path in remainder:
         print metadata.detailed_str(m, active_fields)
         first_path = False
 
-if saved_errors:
-    log('WARNING: %d errors encountered.' % len(saved_errors))
+if not check_saved_errors():
     sys.exit(1)
-else:
-    sys.exit(0)
index 963eae32e93a445b391561021e7194f0ca183da9..2eccf6208fac8d4ea77d7a8aeb92ac3b6482b41c 100644 (file)
@@ -793,6 +793,16 @@ def clear_errors():
     saved_errors = []
 
 
+def check_saved_errors():
+    global saved_errors
+    if saved_errors:
+        log('Warning: %d error%s encountered!'
+            % (len(saved_errors), len(saved_errors)!=1 and 's' or ''))
+        return False
+    else:
+        return True
+
+
 def handle_ctrl_c():
     """Replace the default exception handler for KeyboardInterrupt (Ctrl-C).