X-Git-Url: https://www.irasnyder.com/gitweb/?p=rarslave2.git;a=blobdiff_plain;f=rarslave.py;h=5d9824dd2ca3cb8c80d641b2c8de3d6743c6deaf;hp=edd34ce87394bbebd590711beb8ad241af946242;hb=0db7e8102731bec67c48426d85c43981aba431aa;hpb=feeefeb8ea2f1e4724424d43c0eb872aee4743c2 diff --git a/rarslave.py b/rarslave.py index edd34ce..5d9824d 100755 --- a/rarslave.py +++ b/rarslave.py @@ -252,13 +252,14 @@ def findUniqueSets(directory, files): try: c = PAR2Set.CompareSet(directory, f) - - if c not in s: - s.append(c) except: # We just ignore any errors that happen, such as # parsing the PAR file pass + else: + # Ok, we got a valid set, add it to s + if c not in s: + s.append(c) return s @@ -283,21 +284,22 @@ def runEachType(cs, options): for t in types: try: instance = t(cs, options) - detected = True - logging.debug('%s detected for %s' % (t.__name__, cs.parityFile)) except TypeError: logging.debug('%s not detected for %s' % (t.__name__, cs.parityFile)) continue + else: + detected = True + logging.debug('%s detected for %s' % (t.__name__, cs.parityFile)) # We detected something, try to run it try: instance.run() - logging.info('Success: %s' % instance) - - # Leave early, we're done - return except (OSError, CalledProcessError): logging.critical('Failure: %s' % instance) + else: + # Leave early, we're done + logging.info('Success: %s' % instance) + return # Check that at least one detection worked if not detected: @@ -321,8 +323,12 @@ def runDirectory(directory, files, options): for cs in sets: try: runEachType(cs, options) - except: + except Exception, e: + import traceback logging.error('Unknown Exception: %s' % cs.parityFile) + logging.error('===== BEGIN Bactrace =====') + [logging.error(l) for l in traceback.format_exc(e).split('\n')] + logging.error('===== END Bactrace =====') ################################################################################