84 lines
3.3 KiB
Python
84 lines
3.3 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
|
|
from tools.utils import login_required
|
|
|
|
mygallery = Blueprint('mygallery', __name__, template_folder='templates')
|
|
|
|
app = Flask( 'pywallter' )
|
|
app.config.from_pyfile('config.py')
|
|
|
|
|
|
#### Variables ##################################################################################
|
|
|
|
DOSSIER_PERSO = app.config.get("DOSSIER_APP")
|
|
DOSSIER_PUBLIC = app.config.get("DOSSIER_PUBLIC")
|
|
extensionimg = app.config.get("EXT_IMG")
|
|
|
|
DATABASE = app.config.get("DATABASE")
|
|
#################################################################################################
|
|
|
|
@mygallery.route( '/gallery/')
|
|
@login_required
|
|
def gallery():
|
|
user ='%s' % escape(session['username'])
|
|
print (DOSSIER_PUBLIC)
|
|
print (os.path.join(DOSSIER_PUBLIC, user , 'images'))
|
|
check_and_create(os.path.join(DOSSIER_PUBLIC, user , 'images'))
|
|
check_and_create(os.path.join(DOSSIER_PUBLIC, user , 'images', 'thumbnails'))
|
|
check_and_create(os.path.join(DOSSIER_PERSO , user , 'images'))
|
|
check_and_create(os.path.join(DOSSIER_PERSO, user, 'images','thumbnails'))
|
|
THUMBNAILS=os.path.join(DOSSIER_PERSO, user, 'images','thumbnails')
|
|
fichiers = [fich for fich in os.listdir(THUMBNAILS)]
|
|
return render_template('gallery.html',
|
|
section='Gallery',
|
|
THUMBNAILS=THUMBNAILS,
|
|
fichiers=fichiers)
|
|
|
|
|
|
@mygallery.route('/myfiles/images/<filename>')
|
|
@login_required
|
|
def myimg(filename):
|
|
user = '%s' % escape(session['username'])
|
|
return send_from_directory(
|
|
os.path.join(DOSSIER_PERSO, user, 'images'), filename )
|
|
|
|
@mygallery.route('/myfiles/images/thumbnails/<filename>')
|
|
@login_required
|
|
def mythumbnails(filename):
|
|
user='%s' % escape(session['username'])
|
|
return send_from_directory(
|
|
os.path.join(DOSSIER_PERSO, user, 'images','thumbnails'), filename )
|
|
|
|
@mygallery.route('/remove_privateImage/<filename>')
|
|
@login_required
|
|
def remove_privateImage(filename):
|
|
user = '%s' % escape(session['username'])
|
|
filename = secure_filename(filename)
|
|
try:
|
|
os.remove(os.path.join(DOSSIER_PERSO, user, 'images','thumbnails', filename)) # on le supprime
|
|
os.remove(os.path.join(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>')
|
|
@login_required
|
|
def remove_publicImage(filename):
|
|
user = '%s' % escape(session['username'])
|
|
filename = secure_filename(filename)
|
|
try:
|
|
os.remove(os.path.join(DOSSIER_PUBLIC, user, 'images','thumbnails', filename)) # on le supprime
|
|
os.remove(os.path.join(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'))
|