def extract(self, archive):
     with ZipFile(archive, 'r') as z:
         for x in z.namelist():
             if functions.is_subtitle(x):
                 try:
                     child_pid = os.fork()
                     if child_pid == 0:
                         z.extract(x)
                         os._exit(0)
                     else:
                         res = os.wait()
                         if res[1] == -1:
                             print(("Error in child process ", res[0]))
                 except OSError as err:
                     print((str(err) + " " + archive), file=sys.stderr)
示例#2
0
 def update_content(self):
     self.__clear_content()
     tv_series_files = [elem for elem in os.listdir(self._dir_path)
                             if functions.get_season_episode(elem)]
     # tv_series_files = filter(lambda s:functions.get_season_episode(s),
     #                          os.listdir(self._dir_path))
     for elem in tv_series_files:
         if functions.is_dir(elem):
             self.__subdir.append(FileObject(elem))
             self.__subdirectories.append(elem)
         elif functions.is_subtitle(elem):
             self.__subtitles.append(FileObject(elem))
         elif functions.is_video(elem):
             self.__videos.append(FileObject(elem))
         elif functions.is_archive(elem):
             self.__archives.append(FileObject(elem))