Arragement dans la gallerie

This commit is contained in:
2022-07-05 01:18:52 +02:00
parent 318ab80dc8
commit eda47f57a6
17 changed files with 197 additions and 200 deletions

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from flask import Blueprint, Flask, request, flash, render_template, url_for, session, redirect, abort, make_response, send_file, escape, flash, abort
from werkzeug import secure_filename
from wand.image import Image
from werkzeug.utils import secure_filename
from PIL import Image
import time
import sqlite3
import os
@@ -15,8 +15,8 @@ filesupload = Blueprint('filesupload', __name__, template_folder='templates')
DOSSIER_PERSO='users/'
extensionimg = {'.jpg', '.JPG', '.png', '.PNG', '.gif', '.GIF', '.bmp', '.BMP', '.jpeg', '.JPEG' }
@filesupload.route( '/upload/', methods=['GET', 'POST'])
def upload():
@filesupload.route( '/filesupload/', methods=['GET', 'POST'])
def uploadfiles():
if 'username' in session :
UTILISATEUR='%s'% escape(session['username'])
if request.method == 'POST' :
@@ -28,33 +28,33 @@ def upload():
flash(u'Fichier déjà existant, merci de spécifier un autre nom de fichier', 'error')
else:
if os.path.isfile(DOSSIER_PERSO + UTILISATEUR + '/images/' + nom):
flash(u'Image déjà existante, merci de spécifier un autre nom de fichier', 'error')
flash(u'Image déjà existante, merci de spécifier un autre nom de fichier', 'error')
else:
file, ext = os.path.splitext(nom)
if ext in extensionimg :
f.save(DOSSIER_PERSO + UTILISATEUR + '/images/' + nom)
image=DOSSIER_PERSO + UTILISATEUR + '/images/' + nom
with Image(filename=image) as img :
img.transform(resize='x100')
img.save(filename=DOSSIER_PERSO + UTILISATEUR + '/images/thumbnails/' + nom)
if os.path.isfile(DOSSIER_PERSO + UTILISATEUR + '/images/' + nom) :
file, ext = os.path.splitext(nom)
if ext in extensionimg :
f.save(DOSSIER_PERSO + UTILISATEUR + '/images/' + nom)
image=DOSSIER_PERSO + UTILISATEUR + '/images/' + nom
with Image.open(image) as img :
img.thumbnail((300,300))
img.save( DOSSIER_PERSO + UTILISATEUR + '/images/thumbnails/' + nom )
if os.path.isfile(DOSSIER_PERSO + UTILISATEUR + '/images/' + nom) :
if os.path.isfile(DOSSIER_PERSO + UTILISATEUR + '/images/thumbnails/' + nom):
TIME=time.strftime("%A %d %B %Y %H:%M:%S")
IP=request.environ['REMOTE_ADDR']
CLIENT_PLATFORM=request.headers.get('User-Agent')
LOG=open("log.txt", "a")
LOG.write (TIME + ' - ' + IP + ' - ' + UTILISATEUR + ' - ' + CLIENT_PLATFORM + '\n' + '---> ' + nom + '\n')
LOG.close()
flash(u'Image envoyée et traitée avec succés', 'succes')
TIME=time.strftime("%A %d %B %Y %H:%M:%S")
IP=request.environ['REMOTE_ADDR']
CLIENT_PLATFORM=request.headers.get('User-Agent')
LOG=open("log.txt", "a")
LOG.write (TIME + ' - ' + IP + ' - ' + UTILISATEUR + ' - ' + CLIENT_PLATFORM + '\n' + '---> ' + nom + '\n')
LOG.close()
flash(u'Image envoyée et traitée avec succés', 'succes')
else:
flash(u'Échec lors du traitement de l\'image', 'error')
return redirect(url_for('filesupload.upload'))
else:
return redirect(url_for('filesupload.uploadfiles'))
else:
flash(u'Éches lors de l\'envoi de l\'image', 'error')
return redirect(url_for('filesupload.upload'))
else:
f.save(DOSSIER_PERSO + UTILISATEUR + '/files/' + nom)
if os.path.isfile(DOSSIER_PERSO + UTILISATEUR + '/files/' + nom) :
return redirect(url_for('filesupload.uploadfiles'))
else:
f.save(DOSSIER_PERSO + UTILISATEUR + '/files/' + nom)
if os.path.isfile(DOSSIER_PERSO + UTILISATEUR + '/files/' + nom) :
TIME=time.strftime("%A %d %B %Y %H:%M:%S")
IP=request.environ['REMOTE_ADDR']
CLIENT_PLATFORM=request.headers.get('User-Agent')
@@ -63,17 +63,18 @@ def upload():
LOG.close() # Ferme log.txt
flash(u'Fichier envoyé avec succés', 'succes')
#return redirect(url_for('filesupload.upload'))
else:
return redirect(url_for('filesupload.upload'))
else:
return redirect(url_for('filesupload.uploadfiles'))
else:
flash(u'Error : Vous avez oublié le fichier !', 'error')
return redirect(url_for('filesupload.upload'))
return redirect(url_for('filesupload.uploadfiles'))
resp = make_response(render_template('up_up.html'))
resp.set_cookie('username', session['username'])
return resp
else :
return redirect(url_for('loginlogout.login', _external=True))
@filesupload.route('/view/')
def list():
if 'username' in session :
@@ -89,6 +90,6 @@ def list():
return render_template('up_list.html',size=size, i=i, listeFichiers=listeFichiers)
else :
flash(u'Aucun fichier uploadé ! Redirection vers Upload', 'error')
return redirect(url_for('filesupload.upload', external=True))
return redirect(url_for('filesupload.uploadfiles', external=True))
else :
return redirect(url_for('loginlogout.login', _external=True))

View File

@@ -1,4 +1,3 @@
from flask import Blueprint, Flask, request, flash, render_template, url_for, session, redirect, abort, make_response, send_file, escape
from flask_bcrypt import Bcrypt
import sqlite3
@@ -15,7 +14,7 @@ inscription = Blueprint('inscription', __name__, template_folder='templates')
@inscription.route( '/inscription/', methods=['GET','POST'] )
def signin() :
if 'username' in session :
return redirect(url_for('upload'))
return redirect(url_for('filesupload'))
else :
if request.method == 'POST' :
conn = sqlite3.connect('base.db') # Connexion à la base de donnée

View File

@@ -10,7 +10,7 @@ loginlogout = Blueprint('loginlogout', __name__, template_folder='templates')
@loginlogout.route( '/login/', methods=['GET','POST'] )
def login() :
if 'username' in session :
return redirect(url_for('filesupload.upload', _external=True))
return redirect(url_for('filesupload.uploadfiles', _external=True))
else :
if request.method == 'POST' :
conn = sqlite3.connect('base.db') # Connexion à la base de donnée
@@ -22,7 +22,7 @@ def login() :
for i in users:
if i[0] == request.form['user'] and bcrypt.check_password_hash(i[1], password) is True:
session['username'] = request.form['user']
return redirect(url_for('filesupload.upload', _external=True))
return redirect(url_for('filesupload.uploadfiles', _external=True))
return redirect(url_for('loginlogout.login', _external=True))
else:
return render_template('login.html')
@@ -31,4 +31,3 @@ def login() :
def logout():
session.pop('username', None) # Supprimer username de la session s'il s'y trouve
return redirect(url_for('index'))

View File

@@ -1,5 +1,5 @@
from flask import Blueprint, Flask, request, flash, render_template, url_for, session, redirect, abort, make_response, send_file, escape, flash, abort
from werkzeug import secure_filename
from werkzeug.utils import secure_filename
from wand.image import Image
import time
import sqlite3