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()
class TestCLI(object): def setup(self): self.assets_env = Environment('', '') self.cmd_env = CommandLineEnvironment(self.assets_env, logging) def test_rebuild_container_bundles(self): """Test the rebuild command can deal with container bundles. """ a = MockBundle(output='a') b1 = MockBundle(output='b1') b2 = MockBundle(output='b2') b = MockBundle(b1, b2) self.assets_env.add(a, b) self.cmd_env.rebuild() assert a.build_called assert not b.build_called assert b1.build_called assert b2.build_called
class TestCLI(object): def setup(self): self.assets_env = Environment("", "") self.cmd_env = CommandLineEnvironment(self.assets_env, logging) def test_rebuild_container_bundles(self): """Test the rebuild command can deal with container bundles. """ a = MockBundle(output="a") b1 = MockBundle(output="b1") b2 = MockBundle(output="b2") b = MockBundle(b1, b2) self.assets_env.add(a, b) self.cmd_env.rebuild() assert a.build_called assert not b.build_called assert b1.build_called assert b2.build_called
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 build(debug=True, cache=True): env = _setup_env(debug, cache) log = _load_logger() cmdenv = CommandLineEnvironment(env, log) cmdenv.rebuild()