townengine/bin/package_data.py

34 lines
1.2 KiB
Python

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...')