Use exceptions for error handling
[rarslave2.git] / PAR2Set / ExtractFirstBase.py
index 6b8a661..7acfc63 100644 (file)
@@ -39,30 +39,29 @@ class ExtractFirstBase (PAR2Set.Base.Base):
                """Run the extraction, repair, and delete stages"""
 
                # Extraction Stage
                """Run the extraction, repair, and delete stages"""
 
                # Extraction Stage
-               ret = self.runExtract ()
-
-               if ret != rsutil.common.SUCCESS:
-                       logging.critical ('Extraction stage failed for: %s' % self.p2file)
-                       return -rsutil.common.EEXTRACT
+               try:
+                       self.runExtract()
+               except (RuntimeError, OSError):
+                       logging.critical('Extraction stage failed for: %s' % self.p2file)
+                       raise
 
                self.update_matches ()
 
                # Repair Stage
 
                self.update_matches ()
 
                # Repair Stage
-               ret = self.runVerifyAndRepair ()
-
-               if ret != rsutil.common.SUCCESS:
-                       logging.critical ('Repair stage failed for: %s' % self.p2file)
-                       return -rsutil.common.ECHECK
+               try:
+                       self.runVerifyAndRepair()
+               except (RuntimeError, OSError):
+                       logging.critical('Repair stage failed for: %s' % self.p2file)
+                       raise
 
                self.update_matches ()
 
                # Deletion Stage
 
                self.update_matches ()
 
                # Deletion Stage
-               ret = self.runDelete ()
-
-               if ret != rsutil.common.SUCCESS:
-                       logging.critical ('Deletion stage failed for: %s' % self.p2file)
-                       return -rsutil.common.EDELETE
+               try:
+                       self.runDelete()
+               except (RuntimeError, OSError):
+                       logging.critical('Deletion stage failed for: %s' % self.p2file)
+                       raise
 
                logging.info ('Successfully completed: %s' % self.p2file)
 
                logging.info ('Successfully completed: %s' % self.p2file)
-               return rsutil.common.SUCCESS