import os
import sys
import shutil
import argparse
import pathlib

# cli arguments
parser = argparse.ArgumentParser(
    prog='package_data',
    description='Creates a data package for the engine.',
    epilog='Note that the engine will, by default, only read .btw packages.')
parser.add_argument('-d', '--datadir',
                    default='./data',
                    type=pathlib.Path,
                    help='directory containing the source data')
parser.add_argument('-o', '--outdir',
                    default='./',
                    type=pathlib.Path,
                    help='target directory of the resulting package file')
parser.add_argument('-n', '--name',
                    default='data',
                    help='name to be used for the package file')
parser.add_argument('-e', '--extension',
                    default='btw',
                    help='extension to be used for the package file')
args = parser.parse_args()

shutil.make_archive(f"{args.outdir}/{args.name}", 'zip', args.datadir)
shutil.move(f"{args.outdir}/{args.name}.zip",
            f"{args.outdir}/{args.name}.{args.extension.removeprefix('.')}")

print('All done!')
input('Press Return to exit...')