1234567891011121314151617181920 |
- def iterate_gists_to_archive(self, gists: List[Gist.Gist], operation: str) -> List[Optional[str]]:
- """Iterate over each gist and start a thread if it can be archived."""
- pool = ThreadPoolExecutor(self.threads)
- thread_list = []
- for gist in gists:
- gist_path = os.path.join(self.location, 'gists', gist.id)
- thread_list.append(
- pool.submit(
- self.archive_gist,
- gist=gist,
- gist_path=gist_path,
- operation=operation,
- )
- )
- wait(thread_list, return_when=ALL_COMPLETED)
- failed_gists = [gist.result() for gist in thread_list if gist.result()]
- return failed_gists
|