[RARSLAVE] Catch exceptions from par2parser
[rarslave2.git] / rarslave.py
index 2096a97..8caf29e 100644 (file)
@@ -208,7 +208,11 @@ def find_likely_files (dir, p2file):
        regex = re.compile ('^%s.*$' % (ename, ))
 
        name_matches = [f for f in os.listdir (dir) if regex.match (f)]
        regex = re.compile ('^%s.*$' % (ename, ))
 
        name_matches = [f for f in os.listdir (dir) if regex.match (f)]
-       parsed_matches = par2parser.get_protected_files (dir, p2file)
+       try:
+               parsed_matches = par2parser.get_protected_files (dir, p2file)
+       except EnvironmentError:
+               parsed_matches = []
+               logger.addMessage ('Bad par2 file: %s' % p2file, RarslaveLogger.MessageType.Fatal)
 
        return name_matches + parsed_matches
 
 
        return name_matches + parsed_matches
 
@@ -279,7 +283,7 @@ def find_extraction_heads (dir, files):
                        try:
                                prot_files = par2parser.get_protected_files (dir, f)
                                done = True
                        try:
                                prot_files = par2parser.get_protected_files (dir, f)
                                done = True
-                       except: #FIXME: add the actual exceptions
+                       except EnvironmentError:
                                logger.addMessage ('Error parsing PAR2 file: %s', f)
                                continue
 
                                logger.addMessage ('Error parsing PAR2 file: %s', f)
                                continue