Use else clauses in exception handlers
[rarslave2.git] / rarslave.py
index edd34ce..1a7e4bc 100755 (executable)
@@ -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: