split utils, added manual tests

This commit is contained in:
2018-11-25 11:16:02 +02:00
parent 74ee5edd7e
commit 8452a7034e
10 changed files with 294 additions and 116 deletions

View File

@@ -10,8 +10,7 @@ from werkzeug.utils import secure_filename
import zipfile
from multiprocessing import Process
from revprox import ReverseProxied
from utils.utils import *
from utils.crypt import *
from utils import *
__FLEES_VERSION__ = "20181124.0"
@@ -162,9 +161,10 @@ def upload_join_splitted(name, token):
return "Invalid partial filename %s -> %s\n"%( request.form['filename'], filename), 400
if not len(parts) == part_existed + 1:
return "Parts missing\n", 400
secure_name = secure_filename(request.form['filename'])
target_name = os.path.join(
share['path'],
request.form['filename']
secure_name
)
if get_or_none('overwrite', share) == False:
if os.path.exists(target_name):
@@ -174,7 +174,7 @@ def upload_join_splitted(name, token):
begin = uploadJoiner(target_name, parts)
except:
return "Joining failed\n", 400
download_url = get_download_url(share, request.form['filename'], token)
download_url = get_download_url(share, secure_name, token)
return "Joining started\n%s\n"%( download_url, ), 200
@@ -365,15 +365,7 @@ def file_direct(name, token, filename):
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)
# url_for returns extra level of /../path if proxying with nginx
return "/".join((
app.config['PUBLIC_URL'],
'direct',
name,
token,
path2url(filename)
)), 200
return get_download_url(share, filename, token), 200
@app.route('/file/ls/<name>/<token>', methods=['GET'])
@@ -936,25 +928,6 @@ def zip_clean():
os.remove(os.path.join(app.config['ZIP_FOLDER'],file))
def get_download_url(share, file, token):
direct = get_or_none('direct_links', share, False)
if direct:
return "/".join((
app.config['PUBLIC_URL'],
'direct',
share['name'],
get_direct_token(share, file),
path2url(file)
))
else:
return "/".join((
app.config['PUBLIC_URL'],
'download',
share['name'],
token,
path2url(file)
))
if __name__ == "__main__":
zip_clean()