display script API on the page

This commit is contained in:
ville rantanen
2018-06-28 22:52:47 +03:00
parent d52ba606ab
commit 84b28ac748
5 changed files with 94 additions and 9 deletions

View File

@@ -19,6 +19,7 @@ app = Flask(__name__)
app.config.from_object(__name__)
# Read config from json !
config_values = json.load(open(os.getenv('FLEES_CONFIG'),'rt'))
app.config['PUBLIC_URL'] = config_values['public_url']
app.config['SITE_NAME'] = config_values['site_name']
app.config['UPLOAD_FOLDER'] = config_values['data_folder']
app.config['SHARES_FILE'] = config_values['shares_file']
@@ -81,6 +82,8 @@ def authenticate(name):
if request.method == 'POST':
user_password = request.form['password'].encode('utf-8')
session[name] = password_hash(user_password, app.secret_key)
if name + 'Token' in session:
del session[name + 'Token']
return redirect(url_for('list_view',name=name))
@@ -262,6 +265,7 @@ def list_view(name, token = None):
return share
if token != None and 'pass_hash' in share:
session[name] = share['pass_hash']
session[name + 'Token'] = token
return redirect(url_for('list_view',name=name))
files = []
@@ -275,6 +279,11 @@ def list_view(name, token = None):
allow_direct = get_or_none('direct_links', share) if get_or_none('pass_hash', share) else False
upload = get_or_none('upload', share)
overwrite = get_or_none('overwrite', share)
if name + 'Token' in session:
used_token = session[name + 'Token']
else:
used_token = '[TOKEN]'
script_api = [get_script_url(app.config['PUBLIC_URL'], share, x, used_token) for x in ('client', 'download', 'upload_split')]
if not upload:
overwrite = False
return render_template(
@@ -287,7 +296,8 @@ def list_view(name, token = None):
overwrite = overwrite,
direct = allow_direct,
expire = get_or_none('expire', share),
description = get_or_none('description', share, "")
description = get_or_none('description', share, ""),
script_api = script_api
)
@@ -295,6 +305,8 @@ def list_view(name, token = None):
def logout(name):
if name in session:
del session[name]
if name + 'Token' in session:
del session[name + 'Token']
return render_template(
"logout.html",
name = name
@@ -600,9 +612,11 @@ def get_share(name, require_auth = True, token = None):
return (False, 'Share has expired')
authenticated = "no-pass"
if not token == None:
require_auth = False
if has_token(token, share):
require_auth = False
authenticated = "token"
else:
authenticated = False
if require_auth:
if 'pass_hash' in share:
authenticated = False