28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
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) |