Beispiel #1
0
def main():
    SQLALCHEMY_DATABASE_URI = os.environ['SQLALCHEMY_DATABASE_URI']
    engine = get_db_engine(SQLALCHEMY_DATABASE_URI)
    db_session_factory = get_db_session_factory(engine)
    create_tables(engine)
    app = create_app(db_session_factory)
    app.run(port=8000, host="0.0.0.0")
Beispiel #2
0
    def update_db(self):
        """ Install or upgrade DB if needed. """
        if 'configuration' not in db.get_tables():
            # The database has not been created yet, let's do it.
            from core_modules import install_core_modules

            db.create_tables([
                Configuration, ModuleConfiguration, WidgetConfiguration,
                Command, Action, CommandAction,
            ])
            Configuration.create(
                secret=hashlib.sha256(os.urandom(16)).hexdigest(),
                upgrades=len(upgrades),
            )
            install_core_modules()
        else:
            # Upgrade if needed
            upgrades_done = Configuration.select(Configuration.upgrades).get().upgrades
            if upgrades_done < len(upgrades):
                for upgrade in upgrades[upgrades_done:]:
                    upgrade()
                Configuration.update(upgrades=len(upgrades)).execute()
Beispiel #3
0
def setup_database(drop=False):
    """ setup cache and database """

    try:
        db.connect()
    except Exception as e:
        print(e)

    if drop:
        db.drop_tables(Relation.__subclasses__())
        db.drop_tables(FlatEvent.__subclasses__())
        db.drop_tables(ActivityEvent.__subclasses__())

    db.create_tables(Relation.__subclasses__())
    db.create_tables(FlatEvent.__subclasses__())
    db.create_tables(ActivityEvent.__subclasses__())
Beispiel #4
0
from jinja2 import escape
from functools import wraps
import os  #for secret key creation and file system exploration
import random  #for the generate_questions random word generator
import json
from utils import db
from utils import test
from utils import config

app = Flask(__name__)

app.config['TEMPLATES_AUTO_RELOAD'] = True
DIR = os.path.dirname(__file__) or '.'
DIR += '/'
db.use_database(DIR)
db.create_tables()
config.load_themes(DIR + "data/themes.json")
app.secret_key = config.get_secret_key(DIR + "data/secret")


#Usage: @valid_session (below the route decorator)
#This will redirect to login page if the session expired, or if user is not logged in
def valid_session(message="You need to login again",
                  strict=False,
                  redirectForm=""):
    def decorator(f):
        @wraps(f)
        def decorated_function(*args, **kwargs):
            if "user" not in session or "user_id" not in session:
                flash(message)
                return redirect(url_for("login_page", redirect=redirectForm))
Beispiel #5
0
from utils import FanInfo, AllFanInfo, db

db.create_tables([FanInfo, AllFanInfo])

# LOAD_DATA_SQL = """
# load data local infile '{filename}'
# into table faninfo
# fields
#     terminated by ','
# lines
#     terminated by '\n'
# ignore 1 lines
# (`fan_id`, `member`, `loyalty`, `first_date`, `last_date`, `theater`, `team`)
# """

# FILENAMES = ['faninfo.csv',
#              'faninfo2.csv']

# for filename in FILENAMES:
#     db.execute_sql(LOAD_DATA_SQL.format(filename=filename))
Beispiel #6
0
 def create_db():
     db.create_tables([Article, Link, ArticleIndex], True)
Beispiel #7
0
 def install(self):
     super(UsersModule, self).install()
     db.create_tables([User])
Beispiel #8
0
 def install(self):
     super(MoneyModule, self).install()
     db.create_tables([Money, MoneyConfiguration])