generator
This commit is contained in:
43
utils/share_template.py
Executable file
43
utils/share_template.py
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user