Fix bugs in section files

This commit is contained in:
2025-05-12 23:14:24 +02:00
parent f9b1b53c9f
commit c405d0109c
11 changed files with 103 additions and 40 deletions

View File

@@ -8,7 +8,7 @@ import time
import sqlite3
import os
from shutil import move
from tools.filesutils import getFileSizeMo
from tools.filesutils import getFileSizeMo, getFileSizeKo, check_and_create
filesupload = Blueprint('filesupload', __name__, template_folder='templates')
@@ -35,6 +35,8 @@ def uploadfiles():
files = request.files.getlist('fic')
for f in files :
nom = secure_filename(f.filename)
check_and_create(DOSSIER_PERSO+ user + 'files')
check_and_create(DOSSIER_PERSO+ user + 'images')
if os.path.isfile(DOSSIER_PERSO + user + '/files/' + nom) or os.path.isfile(DOSSIER_PERSO + user + '/images/' + nom):
flash(u'Un fichier avec le même nom existe déjà, merci de spécifier un autre nom de fichier', 'error')
else:
@@ -76,12 +78,17 @@ def uploadfiles():
@filesupload.route('/view/')
def list():
if 'username' in session :
user = '%s'% escape(session['username'])
files_public = os.listdir(DOSSIER_PUBLIC + user + '/files')
check_and_create(DOSSIER_PUBLIC + user + '/files/')
check_and_create(DOSSIER_PERSO + user + '/files/')
files_public = os.listdir(DOSSIER_PUBLIC + user + '/files/')
files_private = os.listdir(DOSSIER_PERSO + user + '/files/')
listFilesPublic = []
listFilesPrivate = []
nb_pv = 0
size=0
if files_private:
for fich in files_private:
nb_pv += 1
@@ -119,7 +126,11 @@ def myfiles(username, filename):
@filesupload.route('/make_public/<filename>')
def move_public(filename):
if 'username' in session:
user = '%s' % escape(session['username'])
check_and_create(DOSSIER_PUBLIC + user + '/files/')
check_and_create(DOSSIER_PERSO + user + '/files/')
src = os.path.join(DOSSIER_PERSO, user, 'files', filename)
dst = os.path.join(DOSSIER_PUBLIC, user, 'files/')
move (src, dst)
@@ -131,6 +142,8 @@ def move_public(filename):
def move_private(filename):
if 'username' in session:
user = '%s' % escape(session['username'])
check_and_create(DOSSIER_PUBLIC + user + '/files/')
check_and_create(DOSSIER_PERSO + user + '/files/')
src = os.path.join(DOSSIER_PUBLIC, user, 'files', filename)
dst = os.path.join(DOSSIER_PERSO, user, 'files/')
move (src, dst)
@@ -141,7 +154,7 @@ def move_private(filename):
@filesupload.route('/public/<username>/<filename>')
def publicfiles(username, filename):
return send_from_directory(
return send_from_directory(
os.path.join(DOSSIER_PUBLIC, username, 'files'), filename )