def _init_webassets(debug=False): assets_env = Environment(directory=SITE_ASSET_DIR, url=SITE_ASSET_URL_PREFIX, cache=WEBASSETS_CACHE_DIR, load_path=[SITE_ASSET_SRC_DIR]) assets_env.debug = debug js = Bundle('js/*.js', filters='uglifyjs', output='js/app.js') css = Bundle('sass/*.scss', filters='scss,cssmin', output='css/app.css') assets_env.register('app_js', js) assets_env.register('app_css', css) cmd = CommandLineEnvironment(assets_env, log) p = Process(target=lambda: cmd.watch()) def signal_handler(sig, frame): try: p.terminate() except Exception: pass sys.exit(0) signal.signal(signal.SIGINT, signal_handler) p.start() return assets_env
def bundle(**kwargs): """ Webassets bundle management. usage: blueberrypy bundle [options] Before you can use this command to bundle up your Web assets, you should have created either a project skeleton using the 'create' command or provided a configuration directory using the global option -c --config_dir. options: -h, --help show this help message and exit -C ENV_VAR_NAME, --env-var ENV_VAR_NAME add the given config from environment variable name [default: BLUEBERRYPY_CONFIG] -b, --build build the asset bundles -w, --watch automatically rebuild the asset bundles upon changes in the static directory -c, --clean delete the generated asset bundles """ config = BlueberryPyConfiguration(config_dir=kwargs.get('config_dir'), env_var_name=kwargs.get('env_var')) assets_env = config.webassets_env if not assets_env: raise BlueberryPyNotConfiguredError("Webassets configuration not found.") from webassets.script import CommandLineEnvironment assets_cli = CommandLineEnvironment(assets_env, logger) if kwargs.get("build"): try: assets_cli.build() except AttributeError: assets_cli.rebuild() elif kwargs.get("watch"): assets_cli.watch() elif kwargs.get("clean"): assets_cli.clean()
def bundle(**kwargs): """ Webassets bundle management. usage: blueberrypy bundle [options] Before you can use this command to bundle up your Web assets, you should have created either a project skeleton using the 'create' command or provided a configuration directory using the global option -c --config_dir. options: -h, --help show this help message and exit -b, --build build the asset bundles -w, --watch automatically rebuild the asset bundles upon changes in the static directory -c, --clean delete the generated asset bundles """ config = BlueberryPyConfiguration(config_dir=kwargs.get("config_dir")) assets_env = config.webassets_env if not assets_env: raise BlueberryPyNotConfiguredError("Webassets configuration not found.") from webassets.script import CommandLineEnvironment assets_cli = CommandLineEnvironment(assets_env, logger) if kwargs.get("build"): try: assets_cli.build() except AttributeError: assets_cli.rebuild() elif kwargs.get("watch"): assets_cli.watch() elif kwargs.get("clean"): assets_cli.clean()
def _init_webassets(debug=False, generate=False): assets_env = Environment(directory=SITE_ASSET_DIR, url=SITE_ASSET_URL_PREFIX, cache=WEBASSETS_CACHE_DIR, load_path=[SITE_ASSET_SRC_DIR]) assets_env.debug = debug js = Bundle('js/*.js', filters='uglifyjs', output='js/app.js') css = Bundle('sass/*.scss', filters='scss,cssmin', output='css/app.css') assets_env.register('app_js', js) assets_env.register('app_css', css) cmd = CommandLineEnvironment(assets_env, log) if generate: cmd.build() return assets_env Process(target=lambda: cmd.watch()).start() return assets_env
def watch(debug=False, cache=False): env = _setup_env(debug, cache) log = _load_logger() cmdenv = CommandLineEnvironment(env, log) cmdenv.watch()
'js/app.js', filters='uglifyjs', output='js/electris-footer.min.js') css = Bundle('bootstrap/css/bootstrap.min.css', 'bootstrap/css/bootstrap-responsive.min.css', 'css/template.css', 'css/app.css', 'css/sponsorship.css', filters='yui_css', output='css/electris.min.css') static.register('js_header', header_js) static.register('js_footer', footer_js) static.register('css', css) header_js.urls() footer_js.urls() css.urls() import logging from webassets.script import CommandLineEnvironment # Setup a logger log = logging.getLogger('webassets') log.addHandler(logging.StreamHandler()) log.setLevel(logging.DEBUG) cmdenv = CommandLineEnvironment(static, log) cmdenv.watch()
def watch_assets(): log = logging.getLogger('webassets') log.addHandler(logging.StreamHandler()) log.setLevel(logging.DEBUG) cmdenv = CommandLineEnvironment(assets_env, log) cmdenv.watch()
filters='uglifyjs', output='js/electris-footer.min.js') css = Bundle( 'bootstrap/css/bootstrap.min.css', 'bootstrap/css/bootstrap-responsive.min.css', 'css/template.css', 'css/app.css', 'css/sponsorship.css', filters='yui_css', output='css/electris.min.css') static.register('js_header', header_js) static.register('js_footer', footer_js) static.register('css', css) header_js.urls() footer_js.urls() css.urls() import logging from webassets.script import CommandLineEnvironment # Setup a logger log = logging.getLogger('webassets') log.addHandler(logging.StreamHandler()) log.setLevel(logging.DEBUG) cmdenv = CommandLineEnvironment(static, log) cmdenv.watch()
def watch(): """Watch bundles for file changes.""" cmdenv = CommandLineEnvironment(current_app.jinja_env.assets_environment, logger) cmdenv.watch()