# 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