new pasteboard idea
This commit is contained in:
76
code/app.py
76
code/app.py
@@ -14,7 +14,7 @@ from utils.utils import *
|
||||
from utils.crypt import *
|
||||
|
||||
|
||||
__FLEES_VERSION__ = "20180724.0"
|
||||
__FLEES_VERSION__ = "20180820.0"
|
||||
app = Flask(__name__)
|
||||
app.config.from_object(__name__)
|
||||
# Read config from json !
|
||||
@@ -333,6 +333,67 @@ def file_details(name, token):
|
||||
return jsonify(files), 200
|
||||
|
||||
|
||||
@app.route('/file/delete/<name>/<token>/<path:filename>', methods=['GET'])
|
||||
def file_delete(name, token, filename):
|
||||
(ok,share) = get_share(name, token = token)
|
||||
if not ok:
|
||||
return share
|
||||
full_path = os.path.join(
|
||||
share['path'],
|
||||
secure_filename_hidden(filename)
|
||||
)
|
||||
if not os.path.exists(full_path):
|
||||
return "-1", 403
|
||||
allow_direct = get_or_none('direct_links', share) if get_or_none('pass_hash', share) else False
|
||||
if not allow_direct:
|
||||
return "Not allowed", 403
|
||||
upload = get_or_none('upload', share)
|
||||
if not upload:
|
||||
return "Not allowed", 403
|
||||
overwrite = get_or_none('overwrite', share)
|
||||
if overwrite:
|
||||
os.remove(full_path)
|
||||
else:
|
||||
file_versionize(full_path)
|
||||
return "OK", 200
|
||||
|
||||
|
||||
#~ @app.route('/file/direct/<name>/<token>/<path:filename>', methods=['GET'])
|
||||
#~ def file_direct(name, token, filename):
|
||||
#~ (ok,share) = get_share(name, token = token)
|
||||
#~ if not ok:
|
||||
#~ return share
|
||||
#~ full_path = os.path.join(
|
||||
#~ share['path'],
|
||||
#~ secure_filename_hidden(filename)
|
||||
#~ )
|
||||
#~ if not os.path.exists(full_path):
|
||||
#~ return "-1", 403
|
||||
#~ allow_direct = get_or_none('direct_links', share) if get_or_none('pass_hash', share) else False
|
||||
#~ if not allow_direct:
|
||||
#~ return "-1", 403
|
||||
#~ token = get_direct_token(share, filename)
|
||||
#~ return token, 200
|
||||
|
||||
|
||||
@app.route('/file/ls/<name>/<token>', methods=['GET'])
|
||||
def file_ls(name, token):
|
||||
(ok,share) = get_share(name, token = token)
|
||||
if not ok:
|
||||
return share
|
||||
files = []
|
||||
for file in iter_folder_files(share['path'], version_folder = app.config['VERSION_FOLDER']):
|
||||
status = file_stat(share['path'],file)
|
||||
files.append(
|
||||
"%s %8s %s"%(
|
||||
status['mtime'],
|
||||
status['size'],
|
||||
status['name'],
|
||||
)
|
||||
)
|
||||
return "\n".join(files), 200
|
||||
|
||||
|
||||
@app.route('/file/size/<name>/<token>/<path:filename>', methods=['GET'])
|
||||
def file_size(name, token, filename):
|
||||
(ok,share) = get_share(name, token = token)
|
||||
@@ -378,7 +439,7 @@ def list_view(name, token = None):
|
||||
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')]
|
||||
script_api = [get_script_url(app.config['PUBLIC_URL'], share, x, used_token) for x in ('client', 'download', 'upload_split', 'flip')]
|
||||
if not upload:
|
||||
overwrite = False
|
||||
return render_template(
|
||||
@@ -494,6 +555,17 @@ def script_client(name = None, token = None):
|
||||
rooturl = request.url_root
|
||||
)
|
||||
|
||||
@app.route('/script/flip/<name>/<token>', methods=['GET'])
|
||||
@app.route('/script/flip', methods=['GET'])
|
||||
def script_flip(name = "", token = ""):
|
||||
return render_template(
|
||||
"flip",
|
||||
name = name,
|
||||
token = token,
|
||||
rooturl = request.url_root,
|
||||
version = __FLEES_VERSION__
|
||||
)
|
||||
|
||||
|
||||
@app.route('/script/upload/<name>/<token>', methods=['GET'])
|
||||
def script_upload(name = None, token = None):
|
||||
|
||||
Reference in New Issue
Block a user