Add a switch for zip functionality

This commit is contained in:
Patrick Jentsch 2020-02-03 15:07:41 +01:00
parent 4f036296d3
commit fb14759bb9
2 changed files with 10 additions and 4 deletions

View File

@ -13,6 +13,7 @@ RUN apt-get update \
&& apt-get install -y --no-install-recommends \
imagemagick \
python3.5 \
zip \
&& rm -rf /var/lib/apt/lists/*

View File

@ -22,26 +22,31 @@ def parse_arguments():
type=os.path.abspath)
parser.add_argument('-o', dest='output_dir', required=True,
type=os.path.abspath)
parser.add_argument('--zip', action='store_true', default=False,
dest='zip', help='package result files in zip bundles',
required=False)
return parser.parse_args()
def merge_images(input_dir, output_dir):
def merge_images(input_dir, output_dir, zip):
try:
os.mkdir(output_dir)
except FileExistsError:
pass
cmd = 'ls -Q -v {i}/*.* > {i}/file_list.txt'.format(i=input_dir)
subprocess.run(cmd, shell=True)
cmd = 'convert @{i}/file_list.txt {o}/combined.tif'.format(i=input_dir,
o=output_dir)
cmd = 'convert @{i}/file_list.txt {o}/combined.tif'.format(i=input_dir, o=output_dir)
subprocess.run(cmd, shell=True)
cmd = 'rm {i}/file_list.txt'.format(i=input_dir)
subprocess.run(cmd, shell=True)
if zip:
cmd = 'cd {o} && zip -m combined.zip combined.tif && cd -'.format(o=output_dir)
subprocess.run(cmd, shell=True)
def main():
args = parse_arguments()
merge_images(args.input_dir, args.output_dir)
merge_images(args.input_dir, args.output_dir, args.zip)
if __name__ == '__main__':