Major Update
[rarslave2.git] / PAR2Set / ExtractFirstNewRAR.py
index 79fb727..723d1ed 100644 (file)
@@ -42,23 +42,17 @@ __license__   = "GNU GPL v2 (or, at your option, any later version)"
 #    along with this program; if not, write to the Free Software
 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-import PAR2Set.ExtractFirstBase
-import PAR2Set.NewRAR
-import rsutil.common
+from PAR2Set import ExtractFirstBase, NewRAR, utils
 
+class ExtractFirstNewRAR(ExtractFirstBase, NewRAR):
 
-def detector (name_files, prot_files):
-       """Detects a ExtractFirstNewRAR set"""
+    def detect(self):
+        regex = r'^.*\.part0*1\.rar$'
+        m1 = utils.hasAMatch(regex, self.similarlyNamedFiles)
+        m2 = utils.hasAMatch(regex, self.protectedFiles)
 
-       return rsutil.common.has_a_match ('^.*\.part0*1\.rar$', name_files) \
-                       and not rsutil.common.has_a_match ('^.*\.part0*1\.rar$', prot_files)
+        if m1 and not m2:
+            return
 
-
-class ExtractFirstNewRAR (PAR2Set.ExtractFirstBase.ExtractFirstBase, \
-               PAR2Set.NewRAR.NewRAR):
-
-       """Class for new-style rar sets which must be extracted before repair"""
-
-       def __repr__ (self):
-               return 'EXTRACTFIRST NEWRAR'
+        raise TypeError