diff --git a/moulinette/__init__.py b/moulinette/__init__.py index d9badd4c..3a80381d 100755 --- a/moulinette/__init__.py +++ b/moulinette/__init__.py @@ -84,13 +84,9 @@ def api(host="localhost", port=80, routes={}): {(method, uri): callback} """ - from moulinette.actionsmap import ActionsMap - from moulinette.interfaces.api import Interface, ActionsMapParser + from moulinette.interfaces.api import Interface as Api try: - actionsmap = ActionsMap(ActionsMapParser()) - interface = Interface(actionsmap=actionsmap, - routes=routes) - interface.run(host, port) + Api(routes=routes).run(host, port) except MoulinetteError as e: import logging logging.getLogger().error(e.strerror) @@ -114,12 +110,9 @@ def cli(args, top_parser, output_as=None, timeout=None): - top_parser -- The top parser used to build the ActionsMapParser """ - from moulinette.actionsmap import ActionsMap - from moulinette.interfaces.cli import Interface, ActionsMapParser + from moulinette.interfaces.cli import Interface as Cli try: - actionsmap = ActionsMap(ActionsMapParser(top_parser=top_parser)) - interface = Interface(actionsmap=actionsmap) - interface.run(args, output_as=output_as, timeout=timeout) + Cli(top_parser=top_parser).run(args, output_as=output_as, timeout=timeout) except MoulinetteError as e: import logging logging.getLogger().error(e.strerror) diff --git a/moulinette/interfaces/api.py b/moulinette/interfaces/api.py index 084e5671..f251c215 100644 --- a/moulinette/interfaces/api.py +++ b/moulinette/interfaces/api.py @@ -14,6 +14,7 @@ from bottle import request, response, Bottle, HTTPResponse from bottle import abort from moulinette import msignals, m18n, env +from moulinette.actionsmap import ActionsMap from moulinette.core import MoulinetteError from moulinette.interfaces import ( BaseActionsMapParser, @@ -729,7 +730,6 @@ class Interface(BaseInterface): actions map. Keyword arguments: - - actionsmap -- The ActionsMap instance to connect to - routes -- A dict of additional routes to add in the form of {(method, path): callback} - log_queues -- A LogQueues object or None to retrieve it from @@ -737,7 +737,9 @@ class Interface(BaseInterface): """ - def __init__(self, actionsmap, routes={}, log_queues=None): + def __init__(self, routes={}, log_queues=None): + + actionsmap = ActionsMap(ActionsMapParser()) # Attempt to retrieve log queues from an APIQueueHandler if log_queues is None: diff --git a/moulinette/interfaces/cli.py b/moulinette/interfaces/cli.py index 5c5e4f60..f1e8f834 100644 --- a/moulinette/interfaces/cli.py +++ b/moulinette/interfaces/cli.py @@ -12,6 +12,7 @@ from datetime import date, datetime import argcomplete from moulinette import msignals, m18n +from moulinette.actionsmap import ActionsMap from moulinette.core import MoulinetteError from moulinette.interfaces import ( BaseActionsMapParser, @@ -419,7 +420,8 @@ class Interface(BaseInterface): """ - def __init__(self, actionsmap): + def __init__(self, top_parser=None): + # Set user locale m18n.set_locale(get_locale()) @@ -429,7 +431,7 @@ class Interface(BaseInterface): msignals.set_handler("authenticate", self._do_authenticate) msignals.set_handler("prompt", self._do_prompt) - self.actionsmap = actionsmap + self.actionsmap = ActionsMap(ActionsMapParser(top_parser=top_parser)) def run(self, args, output_as=None, timeout=None): """Run the moulinette