def run_recipe(recipe, args, config):
    'Given a recipe, calls the appropriate query and returns the result.\n\n    The provided recipe name is used to make a call to the modules.\n\n    :param str recipe: name of the recipe to be run.\n    :param list args: remainder arguments that were unparsed.\n    :param Configuration config: config object.\n    :returns: string\n    '
    modname = '.recipes.{}'.format(recipe)
    mod = importlib.import_module(modname, package='adr')
    try:
        output = mod.run(args, config)
    except MissingDataError:
        return "ActiveData didn't return any data."
    if isinstance(config.fmt, string_types):
        fmt = all_formatters[config.fmt]
    log.debug('Result:')
    return fmt(output)
Given a recipe, calls the appropriate query and returns the result.

The provided recipe name is used to make a call to the modules.

:param str recipe: name of the recipe to be run.
:param list args: remainder arguments that were unparsed.
:param Configuration config: config object.
:returns: string
def run_recipe(recipe, args, config):
    'Given a recipe, calls the appropriate query and returns the result.\n\n    The provided recipe name is used to make a call to the modules.\n\n    :param str recipe: name of the recipe to be run.\n    :param list args: remainder arguments that were unparsed.\n    :param Configuration config: config object.\n    :returns: string\n    '
    modname = '.recipes.{}'.format(recipe)
    mod = importlib.import_module(modname, package='adr')
    try:
        output = mod.run(args, config)
    except MissingDataError:
        return "ActiveData didn't return any data."
    if isinstance(config.fmt, string_types):
        fmt = all_formatters[config.fmt]
    log.debug('Result:')
    return fmt(output)