86 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
 | 
						|
from flask import Blueprint, Flask, request, flash, render_template, url_for, session, redirect, abort, make_response, send_file, flash, abort, send_file, send_from_directory
 | 
						|
from werkzeug.utils import secure_filename
 | 
						|
from markupsafe import escape
 | 
						|
from PIL import Image
 | 
						|
import time
 | 
						|
import sqlite3
 | 
						|
import os
 | 
						|
from tools.filesutils import check_and_create
 | 
						|
 | 
						|
mygallery = Blueprint('mygallery', __name__, template_folder='templates')
 | 
						|
 | 
						|
app = Flask( 'pywallter' )
 | 
						|
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']
 | 
						|
#################################################################################################
 | 
						|
 | 
						|
@mygallery.route( '/gallery/')
 | 
						|
def gallery():
 | 
						|
    if 'username' in session :
 | 
						|
        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',
 | 
						|
                               THUMBNAILS=THUMBNAILS,
 | 
						|
                               fichiers=fichiers)
 | 
						|
    else :
 | 
						|
       return redirect(url_for('loginlogout.login'), code=401)
 | 
						|
 | 
						|
@mygallery.route('/myfiles/images/<filename>')
 | 
						|
def myimg(filename):
 | 
						|
    if 'username' in session :
 | 
						|
        UTILISATEUR='%s' % escape(session['username'])
 | 
						|
        return send_from_directory(
 | 
						|
            os.path.join(DOSSIER_PERSO, UTILISATEUR, 'images'), filename )
 | 
						|
    else :
 | 
						|
        return redirect(BASE_URL, code=401)
 | 
						|
 | 
						|
@mygallery.route('/myfiles/images/thumbnails/<filename>')
 | 
						|
def mythumbnails(filename):
 | 
						|
    if 'username' in session :
 | 
						|
        UTILISATEUR='%s' % escape(session['username'])
 | 
						|
        return send_from_directory(
 | 
						|
            os.path.join(DOSSIER_PERSO, UTILISATEUR, 'images/thumbnails'), filename )
 | 
						|
    else :
 | 
						|
        return redirect(BASE_URL, code=401)
 | 
						|
 | 
						|
@mygallery.route('/remove_privateImage/<filename>')
 | 
						|
def remove_privateImage(filename):
 | 
						|
    if 'username' in session :
 | 
						|
        user = '%s' % escape(session['username'])
 | 
						|
        filename = secure_filename(filename)    
 | 
						|
        try:
 | 
						|
            os.remove(DOSSIER_PERSO + user + '/images/thumbnails/' + filename) # on le supprime
 | 
						|
            os.remove(DOSSIER_PERSO + user + '/images/' + filename) # on le supprime
 | 
						|
        except FileNotFoundError:
 | 
						|
            flash(u'Image {filename} inexistante.'.format(filename=filename), 'error')
 | 
						|
        return redirect(url_for('mygallery.gallery'))
 | 
						|
              
 | 
						|
 | 
						|
@mygallery.route('/remove_publicImage/<filename>')
 | 
						|
def remove_publicImage(filename):
 | 
						|
    if 'username' in session :
 | 
						|
        user = '%s' % escape(session['username'])
 | 
						|
        filename = secure_filename(filename)    
 | 
						|
        try:
 | 
						|
            os.remove(DOSSIER_PUBLIC + user + '/images/thumbnails/' + filename) # on le supprime
 | 
						|
            os.remove(DOSSIER_PUBLIC + user + '/images/' + filename) # on le supprime
 | 
						|
        except FileNotFoundError:
 | 
						|
            flash(u'Image {filename} inexistante.'.format(filename=filename), 'error')
 | 
						|
        return redirect(url_for('mygallery.gallery'))
 |