# Path: flask_editablesite/settings.py
# class ProdConfig(Config):
#     """Production configuration."""
#     ENV = 'prod'
#     DEBUG = False
#     DEBUG_TB_ENABLED = False  # Disable Debug toolbar
# 
# Path: flask_editablesite/assets.py

# 
# Path: flask_editablesite/extensions.py

# 
# Path: flask_editablesite/public/views.py
# def load_user(id):
# def get_stc_blocks():
# def get_rtc_blocks():
# def get_sessionstore_ic_blocks(ic_blocks):
# def get_db_ic_blocks(ic_blocks):
# def get_ic_blocks():
# def get_default_gallery_items():
# def get_gallery_items():
# def get_default_events():
# def get_events():
# def get_gi_vars():
# def get_gi_reorder_form():
# def get_event_vars():
# def home():
# def contact():
# def login():
# def logout():
# def static_from_root():
# 
# Path: flask_editablesite/editable/views.py
# def delete_image_orig(image_orig):
# def update_submit_handler(model_name, model_identifier,
#                           model_identifier_int, title_field_name,
#                           content, model, field_name,
#                           is_autosave=False, image_orig=None):
# def text_update_func(model_name, field_name, model_identifier,
#                      is_autosave=False):
# def text_update(model_name, field_name, model_identifier):
# def text_update_autosave(model_name, field_name, model_identifier):
# def date_update_func(model_name, field_name, model_identifier,
#                      is_autosave=False):
# def date_update(model_name, field_name, model_identifier):
# def date_update_autosave(model_name, field_name, model_identifier):
# def time_update_func(model_name, field_name, model_identifier,
#                      is_autosave=False):
# def time_update(model_name, field_name, model_identifier):
# def time_update_autosave(model_name, field_name, model_identifier):
# def image_update_func(model_name, field_name, model_identifier,
#                       is_dropzone=False):
# def image_update(model_name, field_name, model_identifier):
# def image_update_dropzone(model_name, field_name, model_identifier):
# def add_func(model_name, is_autosave=False):
# def add(model_name):
# def add_autosave(model_name):
# def delete_func(model_name, model_identifier, is_bootbox=False):
# def delete(model_name, model_identifier):
# def delete_bootbox(model_name, model_identifier):
# def reorder_func(model_name, is_js=False):
# def reorder(model_name):
# def reorder_js(model_name):


from flask import Flask, render_template
from flask_editablesite.settings import ProdConfig
from flask_editablesite.assets import assets
from flask_editablesite.extensions import (
    bcrypt,
    cache,
    db,
    login_manager,
    mail,
    sess,
    migrate,
    debug_toolbar,
    thumb,
)
from flask_editablesite.public.views import blueprint as public_bp
from flask_editablesite.editable.views import blueprint as editable_bp
    from logging.handlers import SMTPHandler
    import logging
# -*- coding: utf-8 -*-
"""The app module, containing the app factory function."""




def create_app(config_object=ProdConfig):
    """An application factory, as explained here:
        http://flask.pocoo.org/docs/patterns/appfactories/

    :param config_object: The configuration object to use.
    """
    app = Flask(__name__)
    app.config.from_object(config_object)
    register_loggers(app)
    register_extensions(app)
    register_blueprints(app)
    register_errorhandlers(app)
    return app


def register_extensions(app):
    assets.init_app(app)
    bcrypt.init_app(app)
    cache.init_app(app)
    mail.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)

# Path: flask_editablesite/settings.py
# class ProdConfig(Config):
#     """Production configuration."""
#     ENV = 'prod'
#     DEBUG = False
#     DEBUG_TB_ENABLED = False  # Disable Debug toolbar
# 
# Path: flask_editablesite/assets.py

# 
# Path: flask_editablesite/extensions.py

# 
# Path: flask_editablesite/public/views.py
# def load_user(id):
# def get_stc_blocks():
# def get_rtc_blocks():
# def get_sessionstore_ic_blocks(ic_blocks):
# def get_db_ic_blocks(ic_blocks):
# def get_ic_blocks():
# def get_default_gallery_items():
# def get_gallery_items():
# def get_default_events():
# def get_events():
# def get_gi_vars():
# def get_gi_reorder_form():
# def get_event_vars():
# def home():
# def contact():
# def login():
# def logout():
# def static_from_root():
# 
# Path: flask_editablesite/editable/views.py
# def delete_image_orig(image_orig):
# def update_submit_handler(model_name, model_identifier,
#                           model_identifier_int, title_field_name,
#                           content, model, field_name,
#                           is_autosave=False, image_orig=None):
# def text_update_func(model_name, field_name, model_identifier,
#                      is_autosave=False):
# def text_update(model_name, field_name, model_identifier):
# def text_update_autosave(model_name, field_name, model_identifier):
# def date_update_func(model_name, field_name, model_identifier,
#                      is_autosave=False):
# def date_update(model_name, field_name, model_identifier):
# def date_update_autosave(model_name, field_name, model_identifier):
# def time_update_func(model_name, field_name, model_identifier,
#                      is_autosave=False):
# def time_update(model_name, field_name, model_identifier):
# def time_update_autosave(model_name, field_name, model_identifier):
# def image_update_func(model_name, field_name, model_identifier,
#                       is_dropzone=False):
# def image_update(model_name, field_name, model_identifier):
# def image_update_dropzone(model_name, field_name, model_identifier):
# def add_func(model_name, is_autosave=False):
# def add(model_name):
# def add_autosave(model_name):
# def delete_func(model_name, model_identifier, is_bootbox=False):
# def delete(model_name, model_identifier):
# def delete_bootbox(model_name, model_identifier):
# def reorder_func(model_name, is_js=False):
# def reorder(model_name):
# def reorder_js(model_name):


# Path: flask_editablesite/app.py
from flask import Flask, render_template
from flask_editablesite.settings import ProdConfig
from flask_editablesite.assets import assets
from flask_editablesite.extensions import (
    bcrypt,
    cache,
    db,
    login_manager,
    mail,
    sess,
    migrate,
    debug_toolbar,
    thumb,
)
from flask_editablesite.public.views import blueprint as public_bp
from flask_editablesite.editable.views import blueprint as editable_bp
    from logging.handlers import SMTPHandler
    import logging

# -*- coding: utf-8 -*-
"""The app module, containing the app factory function."""




def create_app(config_object=ProdConfig):
    """An application factory, as explained here:
        http://flask.pocoo.org/docs/patterns/appfactories/

    :param config_object: The configuration object to use.
    """
    app = Flask(__name__)
    app.config.from_object(config_object)
    register_loggers(app)
    register_extensions(app)
    register_blueprints(app)
    register_errorhandlers(app)
    return app


def register_extensions(app):
    assets.init_app(app)
    bcrypt.init_app(app)
    cache.init_app(app)
    mail.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)

    migrate.init_app(app, db)