import os import fire import shutil LIST_NAME = '_names.list' PARTICLE_FMT = '{}.tag' CONTENTS_PREFIX = '?' def parse(inputdir: str = 'raw', outputdir: str = 'output', test: bool = False): print('Arguments:', inputdir, outputdir, test) if not os.path.exists(outputdir): os.mkdir(outputdir) print('Created output directory:', outputdir) with open(os.path.join(inputdir, LIST_NAME), encoding='utf8') as f: names = [_.rstrip() for _ in f.readlines()] for i, name in enumerate(names): if name.startswith(CONTENTS_PREFIX): input_name = os.path.join(inputdir, PARTICLE_FMT.format(i+1)) output_name = os.path.join(outputdir, os.path.basename(name)) print('Copying:', input_name, '->', output_name) if not test: shutil.copyfile(input_name, output_name) print('*' * 20, 'Summary', '*' * 20) print(f'Done! {len(names)} files copied.') if __name__ == '__main__': fire.Fire(parse)