mirror of
https://github.com/Derpy-Leggies/OnlyLegs.git
synced 2025-01-21 05:41:42 +00:00
Michał
978086f512
Added buttons for image functions Moved Image functions to their own file Added PFP row in users table Moved Groups back to the root templates folder
109 lines
2.9 KiB
Python
109 lines
2.9 KiB
Python
print("""
|
|
___ _ _
|
|
/ _ \\ _ __ | |_ _| | ___ __ _ ___
|
|
| | | | '_ \\| | | | | | / _ \\/ _` / __|
|
|
| |_| | | | | | |_| | |__| __/ (_| \\__ \\
|
|
\\___/|_| |_|_|\\__, |_____\\___|\\__, |___/
|
|
|___/ |___/
|
|
Created by Fluffy Bean - Version 110123
|
|
""")
|
|
|
|
# Import base packages
|
|
import time
|
|
import sys
|
|
import os
|
|
|
|
# Import flask
|
|
from flask import *
|
|
from werkzeug.utils import secure_filename
|
|
|
|
# Import dotenv
|
|
from dotenv import load_dotenv
|
|
|
|
def create_app(test_config=None):
|
|
# create and configure the app
|
|
app = Flask(__name__)
|
|
|
|
# Get environment variables
|
|
load_dotenv(os.path.join(app.root_path, 'user', '.env'))
|
|
|
|
# App configuration
|
|
app.config.from_mapping(
|
|
SECRET_KEY=os.environ.get('FLASK_SECRET'),
|
|
DATABASE=os.path.join(app.instance_path, 'gallery.sqlite'),
|
|
UPLOAD_FOLDER=os.path.join(app.root_path, 'user', 'uploads'),
|
|
ALLOWED_EXTENSIONS=os.environ.get('FLASK_EXTENSIONS'),
|
|
)
|
|
|
|
if test_config is None:
|
|
# load the instance config, if it exists, when not testing
|
|
app.config.from_pyfile('config.py', silent=True)
|
|
else:
|
|
# load the test config if passed in
|
|
app.config.from_mapping(test_config)
|
|
|
|
# ensure the instance folder exists
|
|
try:
|
|
os.makedirs(app.instance_path)
|
|
except OSError:
|
|
pass
|
|
|
|
|
|
# Load database
|
|
from . import db
|
|
db.init_app(app)
|
|
|
|
# Load theme
|
|
from . import sassy
|
|
sassy.compile('default', app.root_path)
|
|
|
|
|
|
@app.errorhandler(405)
|
|
def method_not_allowed(e):
|
|
error = '405'
|
|
msg = 'Method sussy wussy'
|
|
return render_template('error.html', error=error, msg=msg), 404
|
|
|
|
@app.errorhandler(404)
|
|
def page_not_found(e):
|
|
error = '404'
|
|
msg = 'Could not find what you need!'
|
|
return render_template('error.html', error=error, msg=msg), 404
|
|
|
|
@app.errorhandler(403)
|
|
def forbidden(e):
|
|
error = '403'
|
|
msg = 'Go away! This is no place for you!'
|
|
return render_template('error.html', error=error, msg=msg), 403
|
|
|
|
@app.errorhandler(410)
|
|
def gone(e):
|
|
error = '410'
|
|
msg = 'The page is no longer available! *sad face*'
|
|
return render_template('error.html', error=error, msg=msg), 410
|
|
|
|
@app.errorhandler(500)
|
|
def internal_server_error(e):
|
|
error = '500'
|
|
msg = 'Server died inside :c'
|
|
return render_template('error.html', error=error, msg=msg), 500
|
|
|
|
|
|
# Load login, registration and logout manager
|
|
from . import auth
|
|
app.register_blueprint(auth.blueprint)
|
|
|
|
# Load routes for home and images
|
|
from . import gallery
|
|
app.register_blueprint(gallery.blueprint)
|
|
app.add_url_rule('/', endpoint='index')
|
|
|
|
# Load routes for images
|
|
from . import image
|
|
app.register_blueprint(image.blueprint)
|
|
|
|
# Load APIs
|
|
from . import api
|
|
app.register_blueprint(api.blueprint)
|
|
|
|
return app |