From 786687e0f1e89e8463af2398345b13e029f6db25 Mon Sep 17 00:00:00 2001 From: maximstewart Date: Sat, 6 Feb 2021 01:38:15 -0600 Subject: [PATCH] Starting to add file management logic --- src/app.pid | 1 + src/core/routes/Routes.py | 34 ++++++++++++++++---------- src/core/templates/body-footer.html | 4 +-- src/core/templates/body-header.html | 4 +-- src/core/templates/pages/index.html | 22 ++++------------- src/core/utils/shellfm/windows/View.py | 24 ++++++++++++------ src/linux-start.sh | 2 +- 7 files changed, 49 insertions(+), 42 deletions(-) create mode 100644 src/app.pid diff --git a/src/app.pid b/src/app.pid new file mode 100644 index 0000000..2173b02 --- /dev/null +++ b/src/app.pid @@ -0,0 +1 @@ +203362 diff --git a/src/core/routes/Routes.py b/src/core/routes/Routes.py index 6b1cb30..0f29d5f 100644 --- a/src/core/routes/Routes.py +++ b/src/core/routes/Routes.py @@ -1,7 +1,8 @@ # Python imports +import secrets # Lib imports -from flask import request, render_template +from flask import request, session, render_template from flask_login import current_user @@ -11,32 +12,39 @@ from core.utils import MessageHandler # Get simple message processor from core.utils.shellfm import WindowController # Get file manager controller -msgHandler = MessageHandler() -win_controller = WindowController() -win_controller.pop_window() -win_controller.list_windows() -# win_controller.add_window() -# win_controller.list_views_from_window(0) +msgHandler = MessageHandler() +window_controllers = {} +def get_window_controller(): + if session.get('win_controller_id') is None: + id = secrets.token_hex(16) + session['win_controller_id'] = id + window_controllers.update( {id: WindowController() } ) + + return window_controllers[ session["win_controller_id"] ] + @app.route('/', methods=['GET', 'POST']) def home(): if request.method == 'GET': - _dHash = file_manager.getDotHash() - _ddHash = file_manager.getDotDotHash() + view = get_window_controller().get_window(1).get_view(0) - return render_template('pages/index.html') + view.push_to_path("LazyShare") + _path = view.get_path() + _files = view.get_files() + + return render_template('pages/index.html', path=_path, files=_files) return render_template('error.html', title='Error!', message='Must use GET request type...') -@app.route('/api/list-files', methods=['GET', 'POST']) -def listFilesRoute(): +@app.route('/api/list-files/<_hash>', methods=['GET', 'POST']) +def listFilesRoute(_hash): if request.method == 'POST': - HASH = str(request.values['hash']).strip() + HASH = _hash.strip() pathPart = file_manager.returnPathPartFromHash(HASH) lockedFolders = config["settings"]["locked_folders"].split("::::") path = file_manager.getPath().split('/') diff --git a/src/core/templates/body-footer.html b/src/core/templates/body-footer.html index 9006182..788599b 100644 --- a/src/core/templates/body-footer.html +++ b/src/core/templates/body-footer.html @@ -1,4 +1,4 @@ -