From 73dc2237056c61dc6ad686bcc3c0776d23ab5a68 Mon Sep 17 00:00:00 2001 From: ALittlePatate Date: Fri, 17 Feb 2023 13:01:56 +0100 Subject: [PATCH] fix plusieurs trucs, ajout du logo de dossier/fichier --- Server/FileExplorer/images/file.png | Bin 0 -> 2291 bytes Server/FileExplorer/images/folder.png | Bin 0 -> 10660 bytes Server/FileExplorer/index.html | 17 ++++++++++++++--- Server/FileExplorer/style.css | 10 ++++++++++ Server/Server.py | 15 ++++++++++++++- 5 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 Server/FileExplorer/images/file.png create mode 100644 Server/FileExplorer/images/folder.png diff --git a/Server/FileExplorer/images/file.png b/Server/FileExplorer/images/file.png new file mode 100644 index 0000000000000000000000000000000000000000..361dcd602cbb91ba1ec5d5591660144390b82845 GIT binary patch literal 2291 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..") { + //data.url = "a"; + } + return data.url; + } + }, { "data": "modified" }, { "data": "size" } - ] + ], + "createdRow": function(row, data, dataIndex) { + $(row).addClass('d-flex align-items-center'); + } }); // add click event listener to table rows $('#explorer tbody').on('click', 'tr', function() { // fetch data from the server and update the table // Get the clicked element's text - var clickedText = $('#explorer').DataTable().cell(this, 0).data(); + var clickedText = $('#explorer').DataTable().cell(this, 0).data().url; // Send an AJAX request to the Flask app to retrieve the updated data $.ajax({ diff --git a/Server/FileExplorer/style.css b/Server/FileExplorer/style.css index 60eca88..006b9c1 100644 --- a/Server/FileExplorer/style.css +++ b/Server/FileExplorer/style.css @@ -93,3 +93,13 @@ td:nth-child(2) { /* targets the second column */ td:nth-child(3) { /* targets the third column */ text-align: right; } + +#folder { + width: 2%; + height: auto; +} + +.centered { + position: relative; + top: -7px; +} diff --git a/Server/Server.py b/Server/Server.py index 6607b7f..4ea5a66 100644 --- a/Server/Server.py +++ b/Server/Server.py @@ -75,6 +75,7 @@ def get_data() : got_path = request.get_data().decode("latin-1") got_path = urllib.parse.unquote_plus(got_path) if got_path and got_path != "{}" : + if "img" in got_path : got_path = got_path.split("centered\">")[1] got_path = got_path.replace("","").replace("","").replace("folder_path=","") if got_path == ".." : @@ -120,6 +121,7 @@ def get_data() : client_num = int(path_parts.pop(0).replace("Client n°","")) if client_num != i : continue path_parts[0] = path_parts[0] + ":" + path_file_ex_2 = '/'.join(path_parts) client.send(CAESAR(path_file_ex_2 + "\0").encode()) @@ -135,7 +137,18 @@ def get_data() : infos = recv_message_ret(client).decode("latin-1") taille, modified = infos.split("/") - data.append({"url": f"{f}", "modified": f"{modified}", "size":f"{convert_size(int(taille))}"}) + is_dir = False + if taille != "N" : + taille = convert_size(int(taille)) + if taille == "0 O" : + is_dir = True + + if is_dir : + data.append({"url": f"\"Folder{f}", + "modified": f"{modified}", "size": f"{taille}"}) + else : + data.append({"url": f"\"File{f}", + "modified": f"{modified}", "size": f"{taille}"}) json_data = jsonify({"data":data}) return json_data