From 13d2507d605ca418dfe8abbb63f5de69cd8a6bec Mon Sep 17 00:00:00 2001 From: jvoisin Date: Tue, 6 Mar 2018 23:20:18 +0100 Subject: First commit --- main.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 main.py (limited to 'main.py') diff --git a/main.py b/main.py new file mode 100644 index 0000000..e4157e6 --- /dev/null +++ b/main.py @@ -0,0 +1,46 @@ +import sys +from shutil import copyfile +import argparse + +from src.parsers import pdf + + +def create_arg_parser(): + parser = argparse.ArgumentParser(description='Metadata anonymisation toolkit 2') + parser.add_argument('files', nargs='*') + + info = parser.add_argument_group('Information') + info.add_argument('-c', '--check', action='store_true', + help='check if a file is free of harmful metadatas') + info.add_argument('-l', '--list', action='store_true', + help='list all supported fileformats') + info.add_argument('-s', '--show', action='store_true', + help='list all the harmful metadata of a file without removing them') + return parser + +def show_meta(file_name:str): + p = pdf.PDFParser(file_name) + for k,v in p.get_meta().items(): + print("%s: %s" % (k, v)) + +def main(): + argparser = create_arg_parser() + args = argparser.parse_args() + + if args.show: + for f in args.files: + show_meta(f) + return 0 + elif not args.files: + return parser.show_help() + + copyfile(sys.argv[1] + '.bak', sys.argv[1]) + p = pdf.PDFParser(sys.argv[1]) + p.remove_all() + p = pdf.PDFParser('OUT_clean.pdf') + print("ok") + + +if __name__ == '__main__': + + main() -- cgit v1.3