from flask import Flask from flask_sqlalchemy import SQLAlchemy from marshmallow import Schema, fields, ValidationError, pre_load from flask_socketio import SocketIO, emit from os import environ from dotenv import load_dotenv, find_dotenv import os import click from werkzeug.utils import secure_filename from sqlalchemy.dialects import registry # import flask_whooshalchemyplus not using whoosh anymore registry.register("rqlite.pyrqlite", "sqlalchemy_rqlite.pyrqlite", "dialect") basedir = os.path.abspath(os.path.dirname(__file__)) UPLOAD_FOLDER = os.path.join(basedir, 'uploads') UPLOAD_FOLDER_COVER = os.path.join(basedir, 'cover') #ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) load_dotenv(find_dotenv()) app = Flask(__name__) app.config['SECRET_KEY'] = 'super secret key' #app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/mydatabase.db' app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER app.config['SQLALCHEMY_DATABASE_URI'] = 'rqlite+pyrqlite://localhost:4001/' app.config['DEBUG'] = True app.config['PORT'] = 80 #app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'mydatabase.db') db = SQLAlchemy(app) light = not os.path.isdir(UPLOAD_FOLDER) DOMAIN = environ.get('DOMAIN') socketio = SocketIO(app) app.config.from_object(__name__) from app import views