Move common functionality into rsutil package
[rarslave2.git] / PAR2Set / ExtractFirstNewRAR.py
1 #!/usr/bin/env python
2 # vim: set ts=4 sts=4 sw=4 textwidth=92:
3
4 import PAR2Set.ExtractFirstBase
5 import PAR2Set.NewRAR
6 import rsutil.common
7
8 #
9 # This is an old-style rar type
10 #
11 # It will detect sets like the following:
12 # X.par2
13 # X.vol0+1.par2
14 # X.vol1+2.par2
15 # X.rar
16 # X.r00
17 # X.r01
18 #
19 # OR
20 #
21 # ABC.rar
22 # ABC.r00
23 # ABC.r01
24 #
25 # Where the PAR2 files protect all files that do not match in basename
26 # with the PAR2 file itself.
27 #
28
29 def detector (name_files, prot_files):
30         return rsutil.common.has_a_match ('^.*\.part0*1\.rar$', name_files) \
31                         and not rsutil.common.has_a_match ('^.*\.part0*1\.rar$', prot_files)
32
33
34 class ExtractFirstNewRAR (PAR2Set.ExtractFirstBase.ExtractFirstBase, \
35                 PAR2Set.NewRAR.NewRAR):
36
37         def __repr__ (self):
38                 return 'EXTRACTFIRST NEWRAR'
39