mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/file-setup.git
synced 2024-12-26 03:14:19 +00:00
fix pipeline
This commit is contained in:
parent
298a7291ea
commit
09b40c47c5
30
file-setup
30
file-setup
@ -17,9 +17,15 @@ import subprocess
|
|||||||
|
|
||||||
def parse_arguments():
|
def parse_arguments():
|
||||||
parser = ArgumentParser(description='Merges images into one .pdf file.')
|
parser = ArgumentParser(description='Merges images into one .pdf file.')
|
||||||
parser.add_argument('i', metavar='input directory')
|
parser.add_argument('-i', '--input-directory',
|
||||||
parser.add_argument('o', metavar='output directory')
|
help='Input directory',
|
||||||
parser.add_argument('f', metavar='output file base')
|
required=True)
|
||||||
|
parser.add_argument('-o', '--output-directory',
|
||||||
|
help='Output directory',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('-f', '--output-file-base',
|
||||||
|
help='output file base',
|
||||||
|
required=True)
|
||||||
parser.add_argument('--log-dir')
|
parser.add_argument('--log-dir')
|
||||||
parser.add_argument('--zip')
|
parser.add_argument('--zip')
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
@ -42,20 +48,17 @@ def merge_images(input_dir, output_dir, output_file_base, zip):
|
|||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
# Convert all image files into pdf files
|
# Convert all image files into pdf files
|
||||||
cmd = ('mogrify -compress LZW -format pdf '
|
cmd = ('mogrify -compress LZW -format pdf '
|
||||||
+ '-path "{o}" @"{i}"/file_list.txt').format(i=input_dir,
|
+ '-path "{}" @"{}"/file_list.txt'.format(tmp_dir, input_dir))
|
||||||
o=tmp_dir)
|
|
||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
# remove file list
|
# remove file list
|
||||||
cmd = 'rm "{i}"/file_list.txt'.format(i=input_dir)
|
cmd = 'rm "{}"/file_list.txt'.format(input_dir)
|
||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
# join all pdfs into one pdf
|
# join all pdfs into one pdf
|
||||||
cmd = ('pdftk "{tmp_i}"/*.pdf cat '
|
cmd = ('pdftk "{}"/*.pdf cat '.format(tmp_dir)
|
||||||
+ 'output "{o}"/"{ofb}".pdf').format(tmp_i=tmp_dir,
|
+ 'output "{}"/"{}".pdf').format(output_dir, output_file_base)
|
||||||
o=output_dir,
|
|
||||||
ofb=output_file_base)
|
|
||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
# remove single pdf files
|
# remove single pdf files
|
||||||
cmd = 'rm -r {tmp_i}'.format(tmp_i=tmp_dir)
|
cmd = 'rm -r "{}"'.format(tmp_dir)
|
||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
# zip stuff
|
# zip stuff
|
||||||
if zip is not None:
|
if zip is not None:
|
||||||
@ -74,7 +77,10 @@ def merge_images(input_dir, output_dir, output_file_base, zip):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
args = parse_arguments()
|
args = parse_arguments()
|
||||||
merge_images(args.i, args.o, args.f, args.zip)
|
merge_images(args.input_directory,
|
||||||
|
args.output_directory,
|
||||||
|
args.output_file_base,
|
||||||
|
args.zip)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -12,18 +12,21 @@ UID = str(os.getuid())
|
|||||||
GID = str(os.getgid())
|
GID = str(os.getgid())
|
||||||
|
|
||||||
parser = ArgumentParser(add_help=False)
|
parser = ArgumentParser(add_help=False)
|
||||||
parser.add_argument('-i')
|
parser.add_argument('-i', '--input-directory')
|
||||||
parser.add_argument('-o')
|
parser.add_argument('-o', '--output-directory')
|
||||||
parser.add_argument('-f')
|
|
||||||
args, remaining_args = parser.parse_known_args()
|
args, remaining_args = parser.parse_known_args()
|
||||||
|
|
||||||
cmd = ['docker', 'run', '--rm', '-it', '-u', '{}:{}'.format(UID, GID)]
|
cmd = ['docker', 'run', '--rm', '-it', '-u', '{}:{}'.format(UID, GID)]
|
||||||
if args.o is not None:
|
if args.output_directory is not None:
|
||||||
cmd += ['-v', '{}:{}'.format(os.path.abspath(args.o), CONTAINER_OUTPUT_DIR)]
|
cmd += ['-v', '{}:{}'.format(os.path.abspath(args.output_directory),
|
||||||
|
CONTAINER_OUTPUT_DIR)]
|
||||||
remaining_args.insert(0, CONTAINER_OUTPUT_DIR)
|
remaining_args.insert(0, CONTAINER_OUTPUT_DIR)
|
||||||
if args.i is not None:
|
remaining_args.insert(0, '-o')
|
||||||
cmd += ['-v', '{}:{}'.format(os.path.abspath(args.i), CONTAINER_INPUT_DIR)]
|
if args.input_directory is not None:
|
||||||
|
cmd += ['-v', '{}:{}'.format(os.path.abspath(args.input_directory),
|
||||||
|
CONTAINER_INPUT_DIR)]
|
||||||
remaining_args.insert(0, CONTAINER_INPUT_DIR)
|
remaining_args.insert(0, CONTAINER_INPUT_DIR)
|
||||||
|
remaining_args.insert(0, '-i')
|
||||||
cmd.append(CONTAINER_IMAGE)
|
cmd.append(CONTAINER_IMAGE)
|
||||||
cmd += remaining_args
|
cmd += remaining_args
|
||||||
subprocess.run(cmd)
|
subprocess.run(cmd)
|
||||||
|
Loading…
Reference in New Issue
Block a user