Пример #1
0
 def process_dir(self, base_dir, dir_path, callback, read_metadata,
                 inherited_metadata=None):
     if read_metadata:
         dir_metadata = deepcopy(inherited_metadata)
         dir_metadata.update(read_dir_metadata(dir_path))
     else:
         dir_metadata = None
     for filename in os.listdir(dir_path):
         path = os.path.join(dir_path, filename)
         relative_path = path[len(base_dir) + 1:]
         if self.ignore_file(relative_path):
             self.logger.debug('Ignoring "%s".', path)
             continue
         if os.path.isdir(path):
             if not self._do_nothing:
                 out_dir_path = os.path.join(self._out_dir, relative_path)
                 if not os.path.exists(out_dir_path):
                     os.mkdir(out_dir_path)
             self.process_dir(base_dir, path, callback, read_metadata,
                              dir_metadata)
         else:
             callback(path, relative_path, dir_metadata)
Пример #2
0
 def _call_fut(self, path):
     from soho.utils import read_dir_metadata
     return read_dir_metadata(path)