From a4568f27cf59e95098bd3d10c674d34a1bc5b151 Mon Sep 17 00:00:00 2001 From: BJ Dierkes Date: Fri, 2 Jul 2010 18:59:44 -0500 Subject: [PATCH] No longer pass *args and **kwargs to controller methods (they weren't being passed anything anyhow). --- ChangeLog | 4 +++- LICENSE | 3 ++- cement/core/command.py | 4 +++- cement/core/controller.py | 3 ++- cement/core/log.py | 7 +++++-- cement/core/opt.py | 11 ++++++++++- cement/core/plugin.py | 4 ++-- 7 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 69ff90b3..cf61c681 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,7 +5,9 @@ - Added a fix for logging. Previously, an application using a shared plugin (such as from Rosendale) would be unable to log because there were no handlers setup for the providers module name space. - + - No longer pass *args and **kwargs to controller methods (they weren't + being passed anything anyhow). + 0.8.6 - Jun 11, 2010 ----------------------------------------------------------------------------- diff --git a/LICENSE b/LICENSE index 9db4e4d3..2ad7e79b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ + The MIT License: -Copyright (c) 2009 BJ Dierkes +Copyright (c) 2009-2010 BJ Dierkes Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/cement/core/command.py b/cement/core/command.py index 6b159aa7..89ccf1e6 100644 --- a/cement/core/command.py +++ b/cement/core/command.py @@ -38,7 +38,8 @@ def run_command(cmd_name=None): raise CementArgumentError, \ "'%s' is a namespace*, not a command. See '%s --help' instead." % \ (namespace, namespace) - + + # Parse cli options and arguments (cli_opts, cli_args) = parse_options(namespace=namespace) @@ -65,6 +66,7 @@ def run_command(cmd_name=None): log.debug("executing command '%s'" % actual_cmd) run_controller_command(cmd['controller_namespace'], cmd['func'], cli_opts=cli_opts, cli_args=cli_args) + else: raise CementArgumentError, "Unknown command '%s', see --help?" % actual_cmd \ No newline at end of file diff --git a/cement/core/controller.py b/cement/core/controller.py index 6587ba16..be611840 100644 --- a/cement/core/controller.py +++ b/cement/core/controller.py @@ -59,7 +59,8 @@ def run_controller_command(namespace, func, *args, **kw): set_config_opts_per_cli_opts(nam, cli_opts) controller = namespaces[namespace].controller(cli_opts, cli_args) - func = getattr(controller, func)(*args, **kw) + #func = getattr(controller, func)(*args, **kw) + func = getattr(controller, func)() class expose(object): diff --git a/cement/core/log.py b/cement/core/log.py index dc90b80c..c334d5c5 100644 --- a/cement/core/log.py +++ b/cement/core/log.py @@ -16,9 +16,12 @@ def setup_logging_for_plugin_provider(provider): """ config = namespaces['root'].config provider_log = logging.getLogger(provider) - for handler in logging.getLogger(config['app_module']).handlers: + cement_log = logging.getLogger('cement') + + for handler in logging.getLogger('cement').handlers: provider_log.addHandler(handler) - + provider_log.level = cement_log.level + def setup_logging(clear_loggers=True, level=None, to_console=True): """ Primary Cement method to setup logging. diff --git a/cement/core/opt.py b/cement/core/opt.py index 28803663..1969f36e 100644 --- a/cement/core/opt.py +++ b/cement/core/opt.py @@ -109,7 +109,16 @@ def parse_options(namespace='root', ignore_conflicts=False): if line != ' ': nam_txt += "%s\n" % line - namespaces[namespace].options.usage = """ %s [COMMAND] --(OPTIONS) + if nam_txt == "": + namespaces[namespace].options.usage = """ %s [COMMAND] --(OPTIONS) + +Commands: +%s +Help? try '[COMMAND]-help' OR '[NAMESPACE] --help'""" % \ + (script, cmd_txt) + + else: + namespaces[namespace].options.usage = """ %s [COMMAND] --(OPTIONS) Commands: %s diff --git a/cement/core/plugin.py b/cement/core/plugin.py index a1c30346..86091348 100644 --- a/cement/core/plugin.py +++ b/cement/core/plugin.py @@ -64,6 +64,7 @@ def get_enabled_plugins(): setup_logging_for_plugin_provider(provider) plugin = "%s.plugin.%s" % (provider, sect) enabled_plugins.append(plugin) + return enabled_plugins def load_plugin(plugin): @@ -101,8 +102,7 @@ def load_plugin(plugin): getattr(plugin_module, plugin) if namespaces.has_key(plugin): loaded = True - log.debug("loaded '%s' plugin from %s.plugin.%s" % \ - (plugin, provider, plugin)) + log.debug("loaded '%s' plugin" % plugin) except AttributeError, e: log.debug('AttributeError => %s' % e)