[RARSLAVE] Catch exceptions from par2parser
[rarslave2.git] / rarslave.py
index f40ac9c..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)]
-       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
 
@@ -279,7 +283,7 @@ def find_extraction_heads (dir, files):
                        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
 
@@ -420,6 +424,7 @@ def delete_list (dir, files, interactive=False):
        if interactive:
                while not done:
                        print 'Do you want to delete the following?:'
+                       printlist (files)
                        s = raw_input ('Delete [y/N]: ').upper()
 
                        if s in valid_y + valid_n: