From 8ec33ec54c40ee096e8f964e47af9ec3c94ab6fc Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Thu, 13 Jul 2023 16:13:22 +0200 Subject: [PATCH] modifier et supprimer un fichier --- cao_blogr.sqlite | Bin 32768 -> 32768 bytes cao_blogr/routes.py | 1 + .../uploads/{article.csv => articles.csv} | 0 cao_blogr/templates/upload_edit.jinja2 | 52 ++++++++++++++++++ cao_blogr/templates/uploads.jinja2 | 7 ++- cao_blogr/views/default.py | 40 ++++++++++++-- 6 files changed, 93 insertions(+), 7 deletions(-) rename cao_blogr/static/uploads/{article.csv => articles.csv} (100%) create mode 100644 cao_blogr/templates/upload_edit.jinja2 diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index 7803dc6d85dc37e14e282a6d9ad5bb9299db3f7a..ec58555431db85fc68ad24194bde68e7ca9218b9 100644 GIT binary patch delta 45 zcmZo@U}|V!njp<+Fj2;t(O_f38$S_qT|;99LlY}QGb + +
+ + +
+
+
+ Retour + + +
+ + + + + + +{% endblock %} diff --git a/cao_blogr/templates/uploads.jinja2 b/cao_blogr/templates/uploads.jinja2 index 80cffa7..fad961a 100644 --- a/cao_blogr/templates/uploads.jinja2 +++ b/cao_blogr/templates/uploads.jinja2 @@ -1,5 +1,4 @@ {% extends "cao_blogr:templates/layout.jinja2" %} - {% block content %}
@@ -30,8 +29,10 @@ {% for entry in files_list %} - - + + + + {% endfor %}
{{ entry[1] }}
{{ entry[0] }}{{ entry[1] }}[ Modifier ]
diff --git a/cao_blogr/views/default.py b/cao_blogr/views/default.py index 08de9d6..d22ceb4 100644 --- a/cao_blogr/views/default.py +++ b/cao_blogr/views/default.py @@ -162,10 +162,13 @@ def uploads(request): files_list = [] # récupérer tous les fichiers contenus dans dossier static/uploads for f in os.scandir(folder_path): - files = [] - files.append(request.static_url('cao_blogr:static/uploads/') + f.name) - files.append(f.name) - files_list.append(files) + file = [] + file_url = request.static_url('cao_blogr:static/uploads/') + f.name + file_path = folder_path + f.name + file.append(f.name) + file.append('%s Ko' % round(os.path.getsize(file_path) / 1024)) + file.append(file_url) + files_list.append(file) if 'form.submitted' in request.params: @@ -211,3 +214,32 @@ def uploads(request): } +@view_config(route_name='upload_edit', renderer='cao_blogr:templates/upload_edit.jinja2') +def upload_edit(request): + filename = request.matchdict['filename'] + + message = '' + folder_path = request.registry.settings['uploads_dir'] + + if 'form.submitted' in request.params: + new_name = request.params["new_name"].lower() + ext = new_name[-3:] + # comparer le nouveau ext avec l'ancien + if ext == filename[-3:]: + os.rename(folder_path + filename, folder_path + new_name) + return HTTPFound(location=request.route_url('uploads')) + else: + message = "Extension de fichier invalide !" + + if 'form.deleted' in request.params: + os.remove(folder_path + filename) + request.session.flash("Le fichier a été supprimé avec succès.", 'success') + return HTTPFound(location=request.route_url('uploads')) + + return { + 'page_title': "Modifier : " + filename, + 'message': message, + 'filename': filename, + 'file_url': request.static_url('cao_blogr:static/uploads/') + filename, + } +