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 )

View File

@@ -7,7 +7,7 @@ from PIL import Image
import time
import sqlite3
import os
from tools.filesutils import check_and_create
mygallery = Blueprint('mygallery', __name__, template_folder='templates')
@@ -18,7 +18,7 @@ app.config.from_pyfile('config.py')
#### Variables ####################################################################################
DOSSIER_PERSO= app.config['DOSSIER_APP']
DOSSIER_PUBLIC= app.config['DOSSIER_PUBLIC']+'/'
extensionimg = app.config['EXT_IMG']
DATABASE = app.config['DATABASE']
@@ -27,8 +27,12 @@ DATABASE = app.config['DATABASE']
@mygallery.route( '/gallery/')
def gallery():
if 'username' in session :
UTILISATEUR='%s' % escape(session['username'])
THUMBNAILS=DOSSIER_PERSO + UTILISATEUR + '/images/thumbnails/'
user ='%s' % escape(session['username'])
check_and_create(DOSSIER_PUBLIC + user + '/images/')
check_and_create(DOSSIER_PUBLIC + user + '/images/thumbnails/')
check_and_create(DOSSIER_PERSO + user + '/images/')
check_and_create(DOSSIER_PERSO + user + '/images/thumbnails/')
THUMBNAILS=DOSSIER_PERSO + user + '/images/thumbnails/'
fichiers = [fich for fich in os.listdir(THUMBNAILS)]
return render_template('gallery.html',
section='Gallery',

View File

@@ -116,21 +116,6 @@ def signin(token) :
if res != 0:
flash(u'Il y a eu un problème pour la création du compte XMPP !', 'error')
# on créé les dossier de l'utilisateur
userracine = DATAS_USER + user
userfiles = userracine + '/files'
userimages = userracine + '/images'
userthumbnails = userracine + '/images/thumbnails'
userprofile = userracine + '/profile'
userlog = userracine + '/log.txt'
if not os.path.exists(userracine):
os.makedirs(userracine)
os.makedirs(userfiles)
os.makedirs(userimages)
os.makedirs(userthumbnails)
os.makedirs(userprofile)
fp = open(userlog, 'x')
fp.close()
# Une fois que tout c'est bien passé pour l'inscription on détruit le jeton.