From: Ira W. Snyder Date: Mon, 25 Dec 2006 04:56:05 +0000 (-0800) Subject: [RARSLAVE] Add main program logic X-Git-Tag: v2.0.0~59 X-Git-Url: https://www.irasnyder.com/gitweb/?p=rarslave2.git;a=commitdiff_plain;h=72db861c672a65ec0d2638b278421419e0fb0efd;hp=7ec7c3baa71901a5ec2244deee0a0008416d7d07 [RARSLAVE] Add main program logic Add the main program logic to the PAR2Set class. This handles verifying, repairing, joining, extraction, and deletion of the leftover files in the PAR set. This also converts over the main() code to use this function exclusively. Signed-off-by: Ira W. Snyder --- diff --git a/rarslave.py b/rarslave.py index fab1f69..89d526d 100644 --- a/rarslave.py +++ b/rarslave.py @@ -322,6 +322,23 @@ class PAR2Set (object): def __eq__ (self, rhs): return self.__list_eq (self.likely_files, rhs.likely_files) + def run_all (self): + par2files = find_par2_files (self.likely_files) + par2head = par2files[0] + + join = is_noextract (self.likely_files) + + # Repair Stage + repairer = RarslaveRepairer (self.dir, par2head, join) + repairer.checkAndRepair () # FIXME: Check return value + + # Extraction Stage + extractor = find_extraction_heads (self.dir, self.likely_files) + extractor.extract ('extract_dir') # FIXME: Get it from the config + + # Deletion Stage + printlist ( find_deleteable_files (self.likely_files) ) + def generate_all_parsets (dir): # Generate all parsets in the given directory. @@ -338,75 +355,13 @@ def generate_all_parsets (dir): return parsets def main (): - # Setup stage - print '\nSETUP STAGE' - DIR = os.path.abspath ('test_material/01/') - p2files = find_all_par2_files (DIR) - p2file = p2files[0] - - # Repair stage - print '\nREPAIR STAGE' - repairer = RarslaveRepairer (DIR, p2file) - repairer.checkAndRepair () - - # Extraction stage - print '\nEXTRACTION STAGE' - files = find_likely_files (get_basename (p2file), DIR) - extractor = find_extraction_heads (DIR, files) - extractor.extract('extract_dir') - - # Deletion stage - print '\nDELETION STAGE' - printlist ( find_deleteable_files (files) ) - - print '\n\n' - - # Setup stage - print '\nSETUP STAGE' - DIR = os.path.abspath ('test_material/13/') - p2files = find_all_par2_files (DIR) - p2file = p2files[0] - - # Repair stage - print '\nREPAIR STAGE' - RarslaveRepairer (DIR, p2file, join=True).checkAndRepair () - - # Extraction stage - print '\nEXTRACTION STAGE' - files = find_likely_files (get_basename (p2file), DIR) - find_extraction_heads (DIR, files).extract ('extract_dir') - - # Deletion stage - print '\nDELETION STAGE' - printlist ( find_deleteable_files (files) ) - - print '\n\n' - - # Setup stage - print '\nSETUP STAGE' - DIR = os.path.abspath ('test_material/14/') - p2files = find_all_par2_files (DIR) - p2file = p2files[0] - - # Repair stage - print '\nREPAIR STAGE' - RarslaveRepairer (DIR, p2file, join=True).checkAndRepair () - - # Extraction stage - print '\nEXTRACTION STAGE' - files = find_likely_files (get_basename (p2file), DIR) - find_extraction_heads (DIR, files).extract ('extract_dir') - - # Deletion stage - print '\nDELETEION STAGE' - printlist ( find_deleteable_files (files) ) - - #### TESTING #### - parsets = generate_all_parsets ('test_material/02/') - print '\n\nPARSETS LEN:', len(parsets) - for p in parsets: - print p.likely_files[0] + TOPDIR = os.path.abspath ('test_material') + for (dir, subdirs, files) in os.walk (TOPDIR): + print 'DEBUG: IN DIRECTORY:', dir + parsets = generate_all_parsets (dir) + for p in parsets: + p.run_all () if __name__ == '__main__': main ()