Exemplo n.º 1
0
from flask_assets import Environment, Bundle

assets = Environment()

coffee_filters = [
    'coffeescript',
    #'uglifyjs'
]

# TODO: pack js files, compiled, into project's /static
coffee = Bundle(
    # here we compile the coffee scripts, then we minify it and pack it
    # in this example there is but one file, but this scales alright!
    # you may also use nested bundles http://webassets.readthedocs.org/en/latest/bundles.html#nested-bundles
    'blog/coffee/app.coffee',
    filters=coffee_filters,
    # our output js will have this structure
    output='js/apps.min.js'
)

# we want our js files to be compiled into our project's static folder
coffee.directory = 'static'

assets.register('js_all', coffee)
Exemplo n.º 2
0
def init(app):
    assets = Environment(app)

    # Basic CSS and Javascript:
    # Available under: base_css, base_js
    base_css = Bundle("css/base.css",
                      filters="cssmin",
                      output="gen/css/base.%(version)s.css")
    base_js = js_bundle("scripts/base.js", "gen/scripts/base.%(version)s.js")
    assets.register("base_css", base_css)
    assets.register("base_js", base_js)

    datetime_js = js_bundle("scripts/datetime.js",
                            "gen/scripts/datetime.%(version)s.js")
    assets.register("datetime", datetime_js)

    # CLR Overlay
    # Availabe under: clr_overlay_js, clr_overlay_css
    # jsmin is intentionally disabled for clr.overlay.js because the output is broken (same as below for
    # playsounds)
    clr_overlay_js = js_bundle("scripts/clr.overlay.js",
                               "gen/scripts/clr.overlay.%(version)s.js")
    clr_overlay_css = Bundle("css/clr.overlay.css",
                             filters="cssmin",
                             output="gen/css/clr.overlay.%(version)s.css")
    assets.register("clr_overlay_js", clr_overlay_js)
    assets.register("clr_overlay_css", clr_overlay_css)

    # Admin site
    # Availabe under: admin_create_banphrase, admin_create_command,
    #                 admin_create_row, admin_edit_command
    admin_create_banphrase = js_bundle(
        "scripts/admin/create_banphrase.js",
        "gen/scripts/admin/create_banphrase.%(version)s.js")
    admin_create_command = js_bundle(
        "scripts/admin/create_command.js",
        "gen/scripts/admin/create_command.%(version)s.js")
    admin_create_row = js_bundle(
        "scripts/admin/create_row.js",
        "gen/scripts/admin/create_row.%(version)s.js")
    admin_edit_command = js_bundle(
        "scripts/admin/edit_command.js",
        "gen/scripts/admin/edit_command.%(version)s.js")
    assets.register("admin_create_banphrase", admin_create_banphrase)
    assets.register("admin_create_command", admin_create_command)
    assets.register("admin_create_row", admin_create_row)
    assets.register("admin_edit_command", admin_edit_command)

    notifications_subscribers = js_bundle(
        "scripts/notifications/subscribers.js",
        "gen/scripts/notifications/subscribers.%(version)s.js",
    )
    assets.register("notifications_subscribers", notifications_subscribers)

    # Third party libraries
    # Available under: autolinker
    autolinker = js_bundle("scripts/autolinker.js",
                           "gen/scripts/autolinker.%(version)s.js")
    assets.register("autolinker", autolinker)

    # Commands
    # Available under: commands_js
    commands_js = js_bundle("scripts/commands.js",
                            "gen/scripts/commands.%(version)s.js")
    assets.register("commands_js", commands_js)

    # Pagination script
    # Available under: paginate_js
    paginate_js = js_bundle("scripts/paginate.js",
                            "gen/scripts/paginate.%(version)s.js")
    assets.register("paginate_js", paginate_js)

    # common controls for the playsound pages
    playsound_common_js = js_bundle(
        "scripts/playsound.common.js",
        "gen/scripts/playsound.common.%(version)s.js")
    assets.register("playsound_common_js", playsound_common_js)

    playsound_admin_js = js_bundle(
        "scripts/admin/playsound.admin.js",
        output="gen/scripts/admin/playsound.admin.%(version)s.js")
    assets.register("playsound_admin_js", playsound_admin_js)
    playsound_admin_css = Bundle(
        "css/admin/playsound.admin.css",
        filters="cssmin",
        output="gen/css/admin/playsound.admin.%(version)s.css")
    assets.register("playsound_admin_css", playsound_admin_css)

    assets.init_app(app)
Exemplo n.º 3
0
WS1_CLIENT_ID = config['DEFAULT']['WS1_CLIENT_ID']
WS1_CLIENT_SECRET = config['DEFAULT']['WS1_CLIENT_SECRET']
WS1_DISCOVERY_URL = config['DEFAULT']['WS1_DISCOVERY_URL']
REDIRECT_HTTPS = config['DEFAULT']['REDIRECT_HTTPS']

if REDIRECT_HTTPS.lower() == 'true':
    REDIRECT_HTTPS = True
else:
    REDIRECT_HTTPS = False

app = Flask(__name__)
app.secret_key = os.environ.get("SECRET_KEY") or os.urandom(24)

env = Environment(app)
js = Bundle('https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js',
            'https://code.jquery.com/ui/1.12.1/jquery-ui.js', 'js/test.js')
env.register('js_all', js)

# User session management setup
# https://flask-login.readthedocs.io/en/latest
login_manager = LoginManager()
login_manager.init_app(app)

# Naive database setup
try:
    init_db_command()
except sqlite3.OperationalError:
    # Assume it's already been created
    pass

# OAuth 2 client setup
Exemplo n.º 4
0
from flask_assets import Environment, Bundle

assets = Environment()

# CSS Assets

assets.register(
    "common_css",
    Bundle("./css/style.css", output="./css/common.%(version)s.css"))

# Javascript Assets

assets.register(
    "profile_js",
    Bundle("./js/profile.js", output="./js/profile.%(version)s.min.js"))
Exemplo n.º 5
0
from flask_assets import Environment, Bundle


jquery = Bundle('jquery/jquery.min.js')
popper = Bundle('Popper/popper.min.js')
bootstrap_js = Bundle('bootstrap/js/bootstrap.min.js')
bootstrap_css = Bundle('bootstrap/css/bootstrap.min.css')
main_css = Bundle('scss/main.scss', filters='libsass', depends='scss/*.scss', output='gen/main.css')
chart = Bundle('Chart/Chart.min.js')
openlayers_js = Bundle('OpenLayers/ol-debug.js')
openlayers_css = Bundle('OpenLayers/ol.css')
three = Bundle('three/three.min.js')
three_stl_loader = Bundle('three/STLLoader.js')
mcc_charts = Bundle('js/mcc_charts.js')
mcc_map = Bundle('js/mcc_map.js')
mcc_gl = Bundle('js/mcc_gl.js')
mcc_spectrum = Bundle('js/mcc_spectrum.js')
mcc_status = Bundle('js/mcc_status.js')


assets = Environment()
assets.register('jq_js', jquery)
assets.register('popper_js', popper)
assets.register('bs_js', bootstrap_js)
assets.register('bs_css', bootstrap_css)
assets.register('main_css', main_css)
assets.register('chart_js', chart)
assets.register('openlayers_js', openlayers_js)
assets.register('openlayers_css', openlayers_css)
assets.register('three', three)
assets.register('three_stl_loader', three_stl_loader)
Exemplo n.º 6
0
from flask_assets import Bundle, Environment
from app import app

bundles = {
    'en_js':
    Bundle('vendor/jquery/jquery.min.js',
           'js/jquery.easing.min.js',
           'js/grayscale.js',
           'vendor/bootstrap/js/bootstrap.min.js',
           'js/lodash.min.js',
           'js/promise.min.js',
           'js/fetch.js',
           'js/vue.js',
           'js/en_transpiled.js',
           output='js/packed_en.js',
           filters='jsmin'),
    'home_css':
    Bundle('vendor/bootstrap/css/bootstrap.min.css',
           'vendor/font-awesome/css/font-awesome.min.css',
           'css/lora.css',
           'css/montserrat.css',
           'css/grayscale.min.css',
           'css/style.css',
           output='css/packed.css',
           filters='cssmin'),
    'ru_js':
    Bundle('vendor/jquery/jquery.min.js',
           'js/jquery.easing.min.js',
           'js/grayscale.js',
           'vendor/bootstrap/js/bootstrap.min.js',
           'js/lodash.min.js',
Exemplo n.º 7
0
from flask_assets import Bundle

app_css = Bundle('app.css', output='styles/app.css')

app_js = Bundle('app.js',
                'usuario.js',
                'empresa.js',
                'relatorio.js',
                'viagem.js',
                output='scripts/app.js')

vendor_css = Bundle('bootstrap.css',
                    'flatpickr.css',
                    output='styles/vendor.css')

vendor_js = Bundle('jquery.js',
                   'bootstrap.bundle.js',
                   'feather.js',
                   'cleave.js',
                   'chart.js',
                   'flatpickr.js',
                   'flatpickr-pt.js',
                   filters=['rjsmin'],
                   output='scripts/vendor.js')
Exemplo n.º 8
0
# either run cs111-grade, or reproduce what is done in that script

# could everything be reorganized into a database? yes.
# is it worth it? up to whoever's reading this. I didn't do it
# because it's annoying to learn how databases work and this is an
# intro course (don't assume TAs/HTAs know how databases work)
# but i also suppose that all these files arent exactly convenient

# set up the web app

temp_filename = 'userupdater.py'
assets = Environment(app)
assets.url = app.static_url_path

scss = Bundle('sass/rubric-edit.scss',
              filters='pyscss',
              output='gen/rubric-edit.css')
assets.register('scss_rubric_edit', scss)
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True

# i have no idea what this is for but i just button mashed
# (not sure if/how this can be used to hack the program)
app.secret_key = '815tu28g78h8934tgju2893t0j83u2tfjt'

# this dictionary will be used to track what the user is doing;
# which assignment, question, and handin they are working on.
# it's reset if you edit grading_app.py or classes.py while grading
# so you need to refresh the page
# todo: make this better. a lot better. if it's a problem.
#(global vars is terrible in web)
Exemplo n.º 9
0
from flask_assets import Bundle

common_css = Bundle(
    # bootstrap
    Bundle('css/vendor/bootstrap.css',
        'css/vendor/bootstrap-theme.css'),
    'css/vendor/typelate.css',
    'css/vendor/helper.css',
    'css/main.css',
    filters='cssmin',
    output='public/css/common.css'
)

common_js = Bundle(
    'js/vendor/jquery.min.js',
    'js/vendor/modernizr.min.js',
    'js/vendor/bootstrap.js',
    'js/vendor/holder.min.js',
    'js/main.js',
    filters='jsmin',
    output='public/js/common.js'
)
Exemplo n.º 10
0
from flask_assets import Bundle

app_css = Bundle('app.scss', filters='scss', output='css/app.css')

app_js = Bundle('app.js', filters='jsmin', output='js/app.js')

vendor_css = Bundle('vendor/semantic.css',
                    'vendor/components/*.css',
                    output='css/vendor.css')

vendor_js = Bundle('vendor/jquery-3.1.1.min.js',
                   'vendor/semantic.min.js',
                   'vendor/jquery.tablesort.min.js',
                   'vendor/zxcvbn.js',
                   'vendor/*.js',
                   filters='jsmin',
                   output='scripts/vendor.js')
# along with CERN Analysis Preservation Framework; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307, USA.
#
# In applying this license, CERN does not
# waive the privileges and immunities granted to it by virtue of its status
# as an Intergovernmental Organization or submit itself to any jurisdiction.

from __future__ import absolute_import, print_function

from flask_assets import Bundle
from invenio_assets import NpmBundle

display_js = NpmBundle(
    Bundle(
        filters="uglifyjs",
    ),
    Bundle(
        'js/jsondisplay.js',
        filters="requirejs",
    ),
    filters="requirejs",
    output="gen/invenio.alpaca.display.%(version)s.js",
    npm={
        "jquery": "~1.9.1",
        "select2": "~4.0.1",
        "underscore": "~1.8.3",
        "bootstrap-3-typeahead": "~4.0.2",
        "handlebars": "~4.0.5",
        "moment": "~2.10.6",
        "json-schema-ref-parser": "~1.4.0",
Exemplo n.º 12
0
# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307, USA.
#
# In applying this license, CERN does not
# waive the privileges and immunities granted to it by virtue of its status
# as an Intergovernmental Organization or submit itself to any jurisdiction.
"""Previewer bundles."""

from __future__ import unicode_literals

from flask_assets import Bundle
from invenio_assets import NpmBundle, RequireJSFilter

previewer_base_css = Bundle("node_modules/bootstrap/dist/css/bootstrap.css",
                            NpmBundle(npm={
                                "bootstrap": "~3.3.6",
                                "font-awesome": "~4.5.0",
                            }),
                            output='gen/previewer-base.%(version)s.css')
"""CSS bundle for ZIP file previewer."""

previewer_base_js = Bundle(
    NpmBundle(npm={
        "bootstrap": "~3.3.6",
        "jquery": "~1.9.1",
    }),
    "node_modules/bootstrap/dist/js/bootstrap.js",
    output='gen/previewer-base.%(version)s.js',
)
"""JavaScript bundle for basic tools."""

csv_previewer_js = Bundle(
Exemplo n.º 13
0
def create_app(config_name):
    """ Application factory """
    # Flask init
    app = Flask(__name__)  # most of the work done right here. Thanks, Flask!
    app.config.from_object('settings')  # load my settings which pull from .env
    ''' 
    FLASK EXTENTIONS
    '''
    db.init_app(app)  # load my database extension
    from .models import User, Role
    user_datastore = SQLAlchemyUserDatastore(db, User, Role)
    # load my security extension
    security.init_app(app,
                      user_datastore,
                      confirm_register_form=ExtendedRegisterForm)
    mail.init_app(app)  # load my mail extensioin
    # load my writing tool extension
    md = Markdown(app, extensions=['fenced_code', 'tables'])
    migrate.init_app(app, db)  # load my database updater tool
    moment.init_app(app)  # time formatting
    jwt.init_app(app)

    ####
    # ASSETS
    ###
    assets.init_app(app)
    js = Bundle('vendor/bootstrap/js/bootstrap.bundle.min.js',
                'vendor/jquery-easing/jquery.easing.min.js',
                'js/sb-admin-2.min.js',
                filters='jsmin',
                output='js/packed.js')
    sass = Bundle('scss/custom.scss', filters='scss', output='css/custom.css')
    all_css = Bundle(
        sass,  # add more CSS files here
        filters='cssmin',
        output="css/packed.css")

    # EXTENSIONS THAT SOMETIMES CRASH
    # TODO: don't be lazy, Mr. A, get rid of this try-except
    try:
        assets.register('js_all', js)
        assets.register('all_css', all_css)
        admin.init_app(app)
        ckeditor.init_app(app)
        from .models import Post, Buzz  # importing models carefully as needed to avoid circular import issues
        from .models.main import UserAdmin, RoleAdmin  # not db tables
        admin.add_view(UserAdmin(User, db.session))
        admin.add_view(RoleAdmin(Role, db.session))
        admin.add_view(RoleAdmin(Post, db.session))
        admin.add_view(RoleAdmin(Buzz, db.session))
        # Add new models here so you can manage data from Flask-Admin's convenient tools
    except Exception as e:
        app.logger.error(f'Failed activating extensions: {e}')

    # TODO: Setup sentry.io!
    # sentry_sdk.init(dsn="", integrations=[FlaskIntegration()])

    # activate the flaskinni blueprint (blog, user settings, and other basic routes)
    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    # activate API blueprint: https://stackoverflow.com/questions/38448618/using-flask-restful-as-a-blueprint-in-large-application
    jwt.init_app(app)  # bolt on our Javascript Web Token tool
    from .api import api_blueprint
    restful = Api(api_blueprint, prefix="/api/v1")
    from .api import add_resources
    add_resources(restful)
    app.register_blueprint(
        api_blueprint
    )  # registering the blueprint effectively runs init_app on the restful extension

    # Callback function to check if a JWT exists in the redis blocklist
    @jwt.token_in_blocklist_loader
    def check_if_token_is_revoked(jwt_header, jwt_payload):
        jti = jwt_payload["jti"]
        return models.RevokedTokenModel.is_jti_blocklisted(jti)

    # --- NEW BLUEPRINTS GO BELOW THIS LINE ---

    # custom error handlers, these call the functions at the top of the file
    app.register_error_handler(500, crash_page)
    app.register_error_handler(404, page_not_found)
    app.register_error_handler(403, page_forbidden)

    # Executes before the first request is processed.
    @app.before_first_request
    def before_first_request():
        """ What do we do before we respond to the first request """

        # Create any database tables that don't exist yet.
        db.create_all()

        # Create the Roles "admin" and "end-user" -- unless they already exist
        user_datastore.find_or_create_role(name='admin',
                                           description='Administrator')
        user_datastore.find_or_create_role(name='end-user',
                                           description='End user')

        # Create two Users for testing purposes -- unless they already exists.
        # In each case, use Flask-Security utility function to encrypt the password.
        encrypted_password = utils.encrypt_password(
            app.config['STARTING_ADMIN_PASS'])

        for email in app.config['STARTING_ADMINS']:
            if not user_datastore.get_user(email):
                user_datastore.create_user(email=email,
                                           password=encrypted_password)

        # Commit any database changes; the User and Roles must exist before we can add a Role to the User
        db.session.commit()

        for email in app.config['STARTING_ADMINS']:
            user_datastore.add_role_to_user(email, 'admin')
            confirmed_admin = user_datastore.get_user(email)
            confirmed_admin.confirmed_at = datetime.utcnow()

        db.session.commit()

    @app.before_request
    def before_request():
        """ What we do before every single handled request """
        if current_user.is_authenticated:
            first_time = True if not current_user.last_seen else False
            current_user.last_seen = datetime.utcnow()
            db.session.commit()

    return app
Exemplo n.º 14
0
from flask_assets import Environment, Bundle


datatable = Bundle('datatables/jquery.dataTables.min.css',
                   'css/jquery.dataTables.min.css',
                   'datatables/extensions/Buttons/css/buttons.dataTables.min.css',
                   filters='cssmin', output='css/data_table.min.css')

css_base = Bundle('css/main.css',
                  'css/bootstrap-select.css',
                  datatable,
                  filters='cssmin', output='css/all.min.css')

css_cover = Bundle('css/bootstrap.css',
                   'css/carousel.css',
                   'css/main.css',
                   filters='cssmin', output='css/cover.min.css')

css_auth = Bundle('css/bootstrap.css',
                  'css/auth_base.css',
                  'css/main.css',
                  filters='cssmin', output='css/auth.min.css')

css_fancybox = Bundle('fancybox/jquery.fancybox.css',
                      'fancybox/fancybox.css',
                      filters='cssmin', output='css/fancybox.min.css')

js_comment = Bundle('js/jquery.min.js',
                    'js/bootstrap.min.js',
                    filters='jsmin', output='js/comment.min.js')
Exemplo n.º 15
0
from __future__ import absolute_import, print_function

from flask_assets import Bundle
from invenio_assets import NpmBundle

css = Bundle(
    Bundle(
        'node_modules/ng-dialog/css/ngDialog.css',
        'node_modules/ng-dialog/css/ngDialog-theme-default.css',
        'node_modules/ngmodal/dist/ng-modal.css',
        'node_modules/ui-select/dist/select.css',
        'node_modules/angular-loading-bar/build/loading-bar.css',
        'node_modules/angular-mass-autocomplete/massautocomplete.theme.css',
        'node_modules/angularjs-toaster/toaster.css',
        filters='cleancssurl',
    ),
    NpmBundle(
        'scss/cds.scss',
        filters='node-scss,cleancssurl',
        npm={
            'bootstrap-sass': '~3.3.5',
            'font-awesome': '~4.7.0',
            'ngmodal': '~2.0.1'
        }
    ),
    output='gen/cds.%(version)s.css',
)

"""Default CSS bundle."""

js = NpmBundle(
    Bundle(
Exemplo n.º 16
0
# -*- coding: utf-8 -*-
from flask_assets import Bundle, Environment

css = Bundle("libs/bootstrap/dist/css/dark/bootstrap.css",
             "css/style.css",
             filters="cssmin",
             output="public/css/common.css")

js = Bundle("libs/jQuery/dist/jquery.js",
            "libs/bootstrap/dist/js/bootstrap.js",
            "js/plugins.js",
            filters='jsmin',
            output="public/js/common.js")

assets = Environment()

assets.register("js_all", js)
assets.register("css_all", css)
Exemplo n.º 17
0
def create_app(test_config=None):
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_object('settings')
    if test_config is None:
        app.config.from_pyfile('config.py', silent=True)
    else:
        app.config.from_mapping(test_config)

    # ensure the instance folder exists
    Path(app.instance_path).mkdir(parents=True, exist_ok=True)

    app_pkg_dir = Path(__file__).parent
    pids_dir = app_pkg_dir.with_name('tmp') / 'pids'
    pids_dir.mkdir(parents=True, exist_ok=True)
    pids_dir.joinpath(f'{__name__}.pid').write_text(str(os.getpid()))


    def pic():
        return Picture(app.config['PICS_DIR'], app.config['PHOTO_EXTS'])


    log_dir = app_pkg_dir.with_name('log')
    log_dir.mkdir(exist_ok=True)
    fname = log_dir / 'photo_gallery.log'
    log_handler = TimedRotatingFileHandler(filename=fname, when='d',
                                          backupCount=7)
    app.logger.setLevel(logging.ERROR)
    app.logger.addHandler(log_handler)
    app.register_error_handler(500, internal_server_error)


    if app.config['ENV'] not in ['development', 'test']:
        from flask_basicauth import BasicAuth
        basic_auth = BasicAuth(app)


    assets = Environment()
    js_libs = ['jquery', 'popper', 'bootstrap', 'unitegallery', 'ug-theme-tiles']
    js_libs = [f'js/{js_lib}.js' for js_lib in js_libs]
    js = Bundle(*js_libs, filters='jsmin', output='js/js_all.js')
    assets.register('js_all', js)
    css_libs = ['bootstrap', 'style', 'unite-gallery']
    css_libs = [f'css/{css_lib}.css' for css_lib in css_libs]
    css = Bundle(*css_libs, filters='cssmin', output='css/css_all.css')
    assets.register('css_all', css)
    assets.init_app(app)


    @app.route("/")
    # @basic_auth.required
    def index():
        return render_template('index.html', folders=pic().folders())

    @app.route("/<folder>")
    # @basic_auth.required
    def folder(folder):
        pictures = pic().from_folder(folder)
        return_to = request.referrer or url_for('index')
        return render_template('show.html', pictures=pictures,
                                            return_to=return_to)

    # /pictures/Berlin_I/web/p1080757_12566647374_o_opt.jpg
    # /pictures/Berlin_I/thumb/p1080757_12566647374_o_opt.jpg
    @app.route("/pictures/<path:picture>")
    def picture(picture):
        if app.config['ENV'] == 'development':
            pics_dir = pic().pics_dir
            pic_path = pics_dir / picture

            if pic_path.exists():
                return send_from_directory(pics_dir, picture)
            else:
                abort(404)
        else:
            abort(404)

    return app
Exemplo n.º 18
0
def setup_assets(app):
    assets = Environment(app)
    assets.url_expire = True

    assets.cache = False
    assets.manifest = False
    assets.load_path = [
        os.path.join(app.config['PROJECT_ROOT'], 'static'),
        os.path.join(app.config['PROJECT_ROOT'], 'bower_components')
    ]

    css_main = Bundle(
        'bootstrap/dist/css/bootstrap.min.css',
        'bootstrap-toggle/css/bootstrap-toggle.min.css',
        'awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css',
        'datatables/media/css/jquery.dataTables.min.css',
        'datatables/media/css/dataTables.bootstrap.min.css',
        'bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css',
        'clockpicker/dist/bootstrap-clockpicker.min.css',
        'eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css',  # NOQA
        'emojione/assets/css/emojione.min.css',
        'emojionearea/dist/emojionearea.min.css',
        'js/plugins/export/export.css',
        'main.css',
        # inspinia theme files
        'inspinia_v2.7.1/css/style.css',
        'inspinia_v2.7.1/css/animate.css',
        'inspinia_v2.7.1/font-awesome/css/font-awesome.min.css',
    )
    js_main = Bundle(
        'jquery/dist/jquery.min.js',
        'jquery-ui/jquery-ui.min.js',
        'bootstrap/dist/js/bootstrap.min.js',
        'bootstrap-toggle/js/bootstrap-toggle.min.js',
        'datatables/media/js/jquery.dataTables.min.js',
        'datatables/media/js/dataTables.bootstrap.min.js',
        'moment/min/moment-with-locales.min.js',
        'bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js',
        'clockpicker/dist/bootstrap-clockpicker.min.js',
        'eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js',  # NOQA
        'jquery-textcomplete/dist/jquery.textcomplete.min.js',
        'emojione/lib/js/emojione.min.js',
        'emojionearea/dist/emojionearea.min.js',
        # amcharts files
        'js/amcharts.js',
        'js/serial.js',
        'js/pie.js',
        'js/plugins/export/export.min.js',
        'js/themes/light.js',
        # amcharts libs for export
        'js/plugins/export/libs/pdfmake/pdfmake.min.js',
        'js/plugins/export/libs/pdfmake/vfs_fonts.js',
        'js/plugins/export/libs/jszip/jszip.min.js',
        'js/plugins/export/libs/fabric.js/fabric.min.js',
        'js/plugins/export/libs/FileSaver.js/FileSaver.min.js',
        'main.js',
    )

    js_bulletin_edit = Bundle(
        js_main,
        'bulletin-edit.js'
    )

    js_story_edit = Bundle(
        js_main,
        'story-edit.js'
    )

    css_landing = Bundle(
        'landing.css',
        'emojione/assets/css/emojione.min.css',
    )

    js_landing = Bundle(
        'jquery/dist/jquery.min.js',
        'hamburger.menu.js',
        'typed.js/lib/typed.min.js',
    )

    assets.register('css_main', css_main, output='dist/css/main.css')
    assets.register('js_main', js_main, output='dist/js/main.js')

    assets.register('js_bulletin_edit', js_bulletin_edit,
                    output='dist/js/bulletin-edit.js')

    assets.register('js_story_edit', js_story_edit,
                    output='dist/js/story-edit.js')

    assets.register('css_landing', css_landing, output='dist/css/landing.css')
    assets.register('js_landing', js_landing, output='dist/js/landing.js')
Exemplo n.º 19
0
# -*- coding: utf-8 -*-
"""Application assets."""
from flask_assets import Bundle, Environment

css = Bundle("libs/bootstrap/css/bootstrap.min.css",
             "libs/FlipClock/flipclock.css",
             "css/honeycomb.css",
             "css/style.css",
             filters="cssmin",
             output="public/css/common.css")

js = Bundle("libs/jquery/jquery.min.js",
            "libs/popper.js/umd/popper.min.js",
            "libs/bootstrap/js/bootstrap.min.js",
            "js/plugins.js",
            "js/script.js",
            filters='jsmin',
            output="public/js/common.js")

assets = Environment()

assets.register('js_all', js)
assets.register('css_all', css)
Exemplo n.º 20
0
from flask_assets import Bundle

landing_css = Bundle('css/landing.css',
                     filters='cssmin',
                     output='public/css/landing.css')

common_css = Bundle('css/helper.css',
                    'css/main.css',
                    'css/oauth.css',
                    'css/highlight.css',
                    'css/code.css',
                    'css/swal-theme.css',
                    filters='cssmin',
                    output='public/css/common.css')

common_js = Bundle('js/main.js', filters='jsmin', output='public/js/common.js')

student_css = Bundle('css/student.css',
                     filters='cssmin',
                     output='public/css/student.css')

student_js = Bundle('js/student.js',
                    'js/comments.js',
                    filters='jsmin',
                    output='public/js/student.js')

staff_css = Bundle('css/staff.css',
                   'css/jquery.steps.css',
                   filters='cssmin',
                   output='public/css/staff.css')
Exemplo n.º 21
0
# In applying this license, CERN does not
# waive the privileges and immunities granted to it by virtue of its status
# as an Intergovernmental Organization or submit itself to any jurisdiction.
"""UI for Invenio-Search."""

import os

from flask_assets import Bundle
from invenio_assets import AngularGettextFilter, GlobBundle, NpmBundle
from pkg_resources import resource_filename

css = Bundle(Bundle(
    'scss/invenio_search_ui/search.scss',
    filters='scss,cleancssurl',
),
             Bundle(
                 'node_modules/angular-loading-bar/build/loading-bar.css',
                 filters='cleancssurl',
             ),
             output='gen/search.%(version)s.css')


def catalog(domain):
    """Return glob matching path to tranlated messages for a given domain."""
    return os.path.join(
        resource_filename('invenio_search_ui', 'translations'),
        '*',  # language code
        'LC_MESSAGES',
        '{0}.po'.format(domain),
    )
Exemplo n.º 22
0
app.config['MY_DISCORD_ID'] = 66543750725246976
app.config['ROOT_RWR_SERVERS_CHECK_INTERVAL'] = 5

db = SQLAlchemy(app)
migrate = Migrate(app, db)
cache = Cache(app)
auth = HTTPBasicAuth()
assets = Environment(app)

assets.cache = 'storage/webassets-cache/'

assets.register(
    'js_friends_charts',
    Bundle('js/common.js',
           'js/friends.js',
           'js/charts.js',
           filters='jsmin',
           output='js/friends_charts.min.js'))
assets.register(
    'js_friends_status',
    Bundle('js/common.js',
           'js/friends.js',
           'js/status.js',
           filters='jsmin',
           output='js/friends_status.min.js'))
assets.register(
    'js_friends',
    Bundle('js/common.js',
           'js/friends.js',
           filters='jsmin',
           output='js/friends.min.js'))
Exemplo n.º 23
0
from flask import Flask
from flask_assets import Bundle, Environment
from .. import app

bundles = {
    'js':
    Bundle('js/d3.v5.js',
           'js/jquery-3.4.1.min.js',
           'js/bootstrap.min.js',
           'js/hypergraph.js',
           'js/simplified_hypergraph.js',
           'js/linegraph.js',
           'js/barcode.js',
           'js/bubblesets.js',
           'js/script.js',
           output='gen/script.js'),
    'css':
    Bundle('css/bootstrap.css',
           'css/layout-bootstrap.css',
           'css/colors.css',
           output='gen/styles.css')
}

assets = Environment(app)

assets.register(bundles)
Exemplo n.º 24
0
from controller.google import app_google
from controller.github import app_github

OUTPUT = "temp/"

app = Flask(__name__)
app.secret_key = os.environ.get("FN_FLASK_SECRET_KEY", default=False)

### Register Blueprints
app.register_blueprint(app_google)
app.register_blueprint(app_github)

assets = Environment(app)
assets.url = app.static_url_path
scss = Bundle('custom.scss', filters='pyscss', output='all.css')
assets.register('scss_all', scss)

from models import *

app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL')
if not database_exists(os.environ.get('DATABASE_URL')):
    create_database(os.environ.get('DATABASE_URL'))

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
db.create_all()
db.session.commit()

from config_loader import *
Exemplo n.º 25
0
# -*- coding: utf-8 -*-
from flask_assets import Bundle, Environment

css = Bundle(
    Bundle('css/bootstrap.less',
           depends=('**/*.less'),
           output='css/bootstrap.css',
           filters='less',
    ),
    'libs/bootstrap-tagsinput/dist/bootstrap-tagsinput.css',
    'libs/bootstrap-vertical-tabs/bootstrap.vertical-tabs.css',
    'libs/jQuery-QueryBuilder/dist/css/query-builder.default.css',
    'css/style.css',
    filters='cssmin',
    output='public/css/common.css',
)

js = Bundle(
    'libs/jQuery/dist/jquery.js',
    'libs/bootstrap/dist/js/bootstrap.js',
    'libs/bootstrap-tagsinput/dist/bootstrap-tagsinput.js',
    'libs/jquery-extendext/jQuery.extendext.js',
    'libs/jQuery-QueryBuilder/dist/js/query-builder.standalone.js',
    'js/plugins.js',
    filters='jsmin',
    output='public/js/common.js',
)

assets = Environment()

assets.register('js_all', js)
Exemplo n.º 26
0
# -*- coding: utf-8 -*-

import os

from flask_assets import Bundle, Environment

from lib.sass_filter import LibSass

def static(*path):
    return os.path.join(os.path.dirname(__file__), 'static', *path)

libsass_output = LibSass(include_paths=[
    static('scss'),
    static('govuk_frontend_toolkit/stylesheets'),
    static('govuk_elements/public/sass')])

css_govuk = Bundle(
  'scss/main.scss',
  filters=(libsass_output,),
  output='gen/css/main.css',
  depends=[
        '/static/govuk_elements/public/sass/**/*.scss',
        '/static/govuk_frontend_toolkit/stylesheets/**/*.scss']
)

assets = Environment()

assets.register('css_govuk', css_govuk)

Exemplo n.º 27
0
def js_bundle(path: str, output: str) -> Bundle:
    return Bundle(
        path,
        filters="rjsmin",
        output=output,
    )
Exemplo n.º 28
0
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Invenio; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
"""JS/CSS bundles for CDS Previewer."""

from __future__ import absolute_import, print_function

from flask_assets import Bundle
from invenio_assets import NpmBundle

video_js = Bundle(
    Bundle(
        'js/cds_previewer/video.js',
        filters='requirejs',
    ),
    filters='jsmin',
    output='gen/cds.previewer.%(version)s.js',
)

theoplayer_js = Bundle(
    # ui-sortable requires jquery to be already loaded
    'js/cds_previewer/theoplayer/theoplayer.loader.js',
    filters='jsmin',
    output='gen/cds.previewer.oplayer.%(version)s.js',
)

video_css = Bundle(
    'css/cds_previewer/video.css',
    filters='cleancss',
    output='gen/cds.previewer.%(version)s.css',
Exemplo n.º 29
0
"""Init the app bundles."""
from flask_assets import Bundle

js = Bundle(
    "vendors/jquery/dist/jquery.js",
    "vendors/bootstrap/dist/js/bootstrap.js",
    filters='jsmin',
    output='main.js'
)
Exemplo n.º 30
0
import json
from pprint import pprint

engine = create_engine("sqlite:///3rd.db")
Base = automap_base()
Base.prepare(engine, reflect=True)

businesses = Base.classes.maintable

session = Session(engine)

app = Flask(__name__)

# getting javascript to load on the html files

js = Bundle('dashboard.js', output='gen/main.js')

assets = Environment(app)

assets.register("main_js", js)

# routes


@app.route('/')
def index_route():
    return render_template('index.html')


@app.route('/dashboard')
def dashboard_route():
Exemplo n.º 31
0
ROOT_PATH = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
LIB_PATH = os.path.join(ROOT_PATH, 'lib')
sys.path.insert(0, LIB_PATH)
sys.path.insert(0, ROOT_PATH)

from flask import Flask
from flask_assets import Environment, Bundle, ManageAssets
from flask.ext.script import Manager

app = Flask('main')
app.config.from_object('settings')

assets_env = Environment(app)
js = Bundle(Bundle('js/jquery-1.7.1.min.js'), Bundle('js/bootstrap.min.js'),
            Bundle('js/chosen.jquery.min.js', 'js/chosen.autoload.js'),
            Bundle('js/bootstrap-modal.js'), Bundle('js/jquery.datatable.js'),
            Bundle('js/boostrap-datepicker.js'),
            output='merged/merged.js')
assets_env.register('js_all', js)

css = Bundle('css/bootstrap.css', 'css/chosen.css', 'css/styles.css', 'css/datepicker.css',
             filters='cssmin', output='merged/merged.css')
assets_env.register('css_all', css)
#comment out later?
assets_env.add(js)
js.build()

assets_env.add(css)
css.build()

manager = Manager(app)
Exemplo n.º 32
0
logging.basicConfig(format='%(asctime)s:%(levelname)s:%(name)s:%(message)s')
logging.getLogger().setLevel(logging.DEBUG)
log = logging.getLogger(__name__)

db = SQLAlchemy()
migrate = Migrate()
celery = Celery()
debug_toolbar = DebugToolbarExtension()
cache = Cache()
assets_env = Environment()
mail = Mail()
youtube = Youtube()

main_css = Bundle(
    'css/bootstrap.css',
    filters='cssmin',
    output='css/common.css'
)

main_js = Bundle(
    'js/jquery.js',
    'js/bootstrap.js',
    filters='jsmin',
    output='js/common.js'
)


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