Another round of simplification for interface init...

This commit is contained in:
Alexandre Aubin 2020-05-01 03:58:37 +02:00
parent c750226a3b
commit 559f40a4ea
3 changed files with 12 additions and 15 deletions

View file

@ -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)

View file

@ -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:

View file

@ -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