From 72db861c672a65ec0d2638b278421419e0fb0efd Mon Sep 17 00:00:00 2001 From: "Ira W. Snyder" Date: Sun, 24 Dec 2006 20:56:05 -0800 Subject: [PATCH] [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 --- rarslave.py | 91 ++++++++++++++--------------------------------------- 1 file changed, 23 insertions(+), 68 deletions(-) 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 () -- 2.25.1