|
@@ -142,38 +142,40 @@ def get_version(ctx, param, value):
|
|
|
'python_version': sys.version.split("\n")[0]
|
|
|
}, color=ctx.color)
|
|
|
ctx.exit()
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
def createapp(info):
|
|
|
- config_to_use=getattr(info,'config_to_use',Config)
|
|
|
-
|
|
|
+ config_to_use = getattr(info, 'config_to_use', Config)
|
|
|
+
|
|
|
click.echo('creating app with config: {}'.format(config_to_use))
|
|
|
return create_app(config_to_use)
|
|
|
|
|
|
-def set_config(ctx,param,value):
|
|
|
+
|
|
|
+def set_config(ctx, param, value):
|
|
|
if value:
|
|
|
- config_to_use=value
|
|
|
+ config_to_use = value
|
|
|
try:
|
|
|
- mod,obj=config_to_use.rsplit('.',1)
|
|
|
+ mod, obj = config_to_use.rsplit('.', 1)
|
|
|
import importlib
|
|
|
- m=importlib.import_module(mod)
|
|
|
- config=getattr(m,obj)
|
|
|
- except (ValueError,ImportError):
|
|
|
- click.echo('Cannot load module specified')
|
|
|
- ctx.exit()
|
|
|
+ m = importlib.import_module(mod)
|
|
|
+ config = getattr(m, obj)
|
|
|
+ except (ValueError, ImportError):
|
|
|
+ raise FlaskBBCLIError("Cannot load the specified module.",
|
|
|
+ fg="red")
|
|
|
except AttributeError:
|
|
|
- click.echo('Cannot find config object in specified module')
|
|
|
-
|
|
|
- ctx.ensure_object(ScriptInfo).config_to_use=config
|
|
|
-
|
|
|
+ raise FlaskBBCLIError("Cannot find the config object in "
|
|
|
+ "the specified module.", fg="red")
|
|
|
+
|
|
|
+ ctx.ensure_object(ScriptInfo).config_to_use = config
|
|
|
+
|
|
|
|
|
|
@click.group(cls=FlaskGroup, create_app=createapp)
|
|
|
@click.option("--version", expose_value=False, callback=get_version,
|
|
|
is_flag=True, is_eager=True, help="Show the FlaskBB version.")
|
|
|
-@click.option("--config",expose_value=False, callback=set_config, required=False,
|
|
|
- is_flag=False, is_eager=True,
|
|
|
- help="Specify the config to use in dotted module notation eg flaskbb.configs.default.DefaultConfig ")
|
|
|
+@click.option("--config", expose_value=False, callback=set_config,
|
|
|
+ required=False, is_flag=False, is_eager=True,
|
|
|
+ help="Specify the config to use in dotted module notation "
|
|
|
+ "e.g. flaskbb.configs.default.DefaultConfig")
|
|
|
def main():
|
|
|
"""This is the commandline interface for flaskbb."""
|
|
|
pass
|