Files
flees/utils/share_template.py
2018-01-24 12:49:12 +02:00

44 lines
1.4 KiB
Python
Executable File

#!/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))