117 lines
4.1 KiB
Python
Executable File
117 lines
4.1 KiB
Python
Executable File
#!/usr/local/bin/python3
|
|
# -*- coding: utf-8 -*-
|
|
from flask import Flask, request, flash, render_template, url_for, session, redirect, abort, make_response, send_file, send_from_directory
|
|
from werkzeug.utils import secure_filename
|
|
from markupsafe import escape
|
|
from wtforms import BooleanField, StringField, IntegerField, PasswordField, validators
|
|
import sqlite3
|
|
from flask_bcrypt import Bcrypt
|
|
from os import system
|
|
|
|
|
|
from views.blog import postit
|
|
from views.filesupload import filesupload
|
|
from views.inscription import inscription
|
|
from views.profil import profil
|
|
from views.logs import logs
|
|
from views.loginlogout import loginlogout
|
|
from views.gallery import mygallery
|
|
|
|
from tools.databaseinit import init_db, init_dir, db_migrate
|
|
|
|
import glob, os, sys, time
|
|
|
|
app = Flask( 'pywallter' )
|
|
app.config.from_pyfile('config.py')
|
|
bcrypt = Bcrypt(app)
|
|
|
|
init_db()
|
|
db_migrate()
|
|
if init_dir():
|
|
print ("Le repertoire des utilisateurs a été créer")
|
|
|
|
|
|
#### Variables ####################################################################################
|
|
|
|
|
|
DOSSIER_PERSO= app.config['DOSSIER_APP']
|
|
|
|
extensionimg = app.config['EXT_IMG']
|
|
MAIL_SERVER = app.config['MAIL_SERVER']
|
|
XMPP_SERVER = app.config['XMPP_SERVER']
|
|
##################################################################################################
|
|
|
|
xmpp_server_not_installed = system('whereis prosodyctl')
|
|
mail_server_not_installed = system('whereis set_mail_alias') + system('whereis set_mail_passwd') + \
|
|
system('whereis dovecot') + system('whereis smtpd')
|
|
|
|
if XMPP_SERVER and xmpp_server_not_installed :
|
|
print ("Vous avez activé la prise en charge du protocole XMPP mais prosody n'est pas installé")
|
|
print ("Prosody doit être installé pour que pywaller puisse gérer les comptes XMPP")
|
|
print ("pywallter ne peut démarrer en l'état, installez prosody ou désactiver la fonction XMPP")
|
|
exit(1)
|
|
|
|
|
|
if MAIL_SERVER and mail_server_not_installed :
|
|
print("Vous avez activé la prise en charge des compte mail mais il manque des applications sur votre serveur pour que cela fonctionne")
|
|
print(" Pywallter ne peut démarrer en l'état, désactivez la fonction Mail ou/et installé et confiurer les programme Dovecot et opensmtpd ainsi que les scripts pour gérer les comptes mails")
|
|
exit(1)
|
|
|
|
|
|
app.register_blueprint(inscription)
|
|
app.register_blueprint(postit)
|
|
app.register_blueprint(filesupload)
|
|
app.register_blueprint(profil)
|
|
app.register_blueprint(logs)
|
|
app.register_blueprint(loginlogout)
|
|
app.register_blueprint(mygallery)
|
|
|
|
|
|
|
|
|
|
|
|
def create_app():
|
|
|
|
app = Flask( 'pywallter' )
|
|
app.config.from_pyfile('config.py')
|
|
bcrypt = Bcrypt(app)
|
|
xmpp_server_not_installed = system('whereis prosodyctl')
|
|
mail_server_not_installed = system('whereis set_mail_alias') + system('whereis set_mail_passwd') + system('whereis smtpctl')
|
|
|
|
if XMPP_SERVER and xmpp_server_not_installed :
|
|
print ("Vous avez activé la prise en charge du protocole XMPP mais prosody n'est pas installé")
|
|
print ("Prosody doit être installé pour que pywaller puisse gérer les comptes XMPP")
|
|
print ("pywallter ne peut démarrer en l'état installé prosody ou désactiver la fonction XMPP")
|
|
exit(1)
|
|
|
|
|
|
if MAIL_SERVER and mail_server_not_installed :
|
|
print("Vous avez activé la prise en charge des comptes mail mais il manque des applications sur votre serveur pour que cela fonctionne")
|
|
print(" Pywallter ne peut démarrer en l'état désactivé la fonction Mail ou/et installé et confiurer les programme Dovecot et opensmtpd ainsi que les scripts pour gérer les comptes mails")
|
|
exit(1)
|
|
|
|
init_db()
|
|
db_migrate()
|
|
if init_dir():
|
|
print ("Le repertoire des utilisateurs a été créer")
|
|
|
|
|
|
|
|
DOSSIER_PERSO= app.config['DOSSIER_APP']
|
|
|
|
extensionimg = app.config['EXT_IMG']
|
|
|
|
|
|
app.register_blueprint(inscription)
|
|
app.register_blueprint(postit)
|
|
app.register_blueprint(filesupload)
|
|
app.register_blueprint(profil)
|
|
app.register_blueprint(logs)
|
|
app.register_blueprint(loginlogout)
|
|
app.register_blueprint(mygallery)
|
|
|
|
return app
|
|
|
|
if __name__ == '__main__' :
|
|
app.run(host='127.0.0.1', port=8000, debug=False)
|