def start(self) : if not SevenZ.is_zip : return self.dst = self.make_dst_name() if SevenZ.unzip(self.filename, self.dst, self.verbose) : print('UNZIP DONE :', self.filename) if self.top is not None: os.remove(self.filename) trance = TranceCoder(self.dst) trance.start() self.start_sub_zips() if self.top is None : tool = FileTools(self.dst) tool.move_all_folders_to(self.dst) tool.remove_empty_folders()
def start_sub_zips(self) : skip_pattern = '(ch|char|bg)' subzips = [] for root, dirs, files in os.walk(self.dst) : for f in files : name, extension = os.path.splitext(f) path = os.path.join(root, f) if SevenZ.is_zip(path) : if re.search(skip_pattern, name) is None : subzips.append(path) for sub in subzips : if self.top is not None: unzipper = UnZipper(sub, top=self.top) else : unzipper = UnZipper(sub, top=self.dst) unzipper.start()