#!/usr/bin/env python import hashlib,argparse,json,sys from datetime import datetime parser = argparse.ArgumentParser(description='Flees share template generator') parser.add_argument('-n','--name', action="store", dest="name", required = True) parser.add_argument('-p','--path', action="store", dest="path", required = True,help= "path relative to data folder") parser.add_argument('-P','--public', action="store_true", dest="public", default = False) parser.add_argument('-u','--upload', action="store_true", dest="upload", default = False) parser.add_argument('--pass-plain', action="store", dest="plain", default = False) parser.add_argument('--pass-hashed', action="store", dest="hashed", default = False) parser.add_argument('-e','--expire', action="store", dest="expire", default = False, help = "expire date in format 2018-12-24 21:00") opts = parser.parse_args() share = { 'name': opts.name, 'path': opts.path, 'public': opts.public, 'upload': opts.upload, } if opts.plain: share.update({ 'pass_plain': opts.plain }) if opts.hashed: share.update({ 'pass_hash': hashlib.sha256(opts.hashed).hexdigest() }) if opts.expire: try: date_object = datetime.strptime(opts.expire,"%Y-%m-%d %H:%M") except ValueError as e: print(e) sys.exit(1) share.update({ 'expire': opts.expire }) print(json.dumps(share, indent = 2))