#!/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)