diff options
author | Pavel Aharoni <pa0916@att.com> | 2017-06-11 14:33:57 +0300 |
---|---|---|
committer | Pavel Aharoni <pa0916@att.com> | 2017-06-11 14:33:57 +0300 |
commit | 04387deeab820e75c6d37d2ddd5b514cb7bcfd9e (patch) | |
tree | 2f4dfacba74ec390c4371c62dc96af2b1d5f19ef /jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/commandmanager.py | |
parent | fff70fce14ebe7dec3a4d52b7b90cee4414d0562 (diff) |
[SDC-32] separate Tosca Parser from DC
Change-Id: I7e7f31ff2bd92fec22031f75b7051d129a21d01b
Signed-off-by: Pavel Aharoni <pa0916@att.com>
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/commandmanager.py')
-rw-r--r-- | jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/commandmanager.py | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/commandmanager.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/commandmanager.py deleted file mode 100644 index f10685e..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/commandmanager.py +++ /dev/null @@ -1,104 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -"""Discover and lookup command plugins. -""" - -import inspect -import logging - -import pkg_resources - - -LOG = logging.getLogger(__name__) - - -class EntryPointWrapper(object): - """Wrap up a command class already imported to make it look like a plugin. - """ - - def __init__(self, name, command_class): - self.name = name - self.command_class = command_class - - def load(self, require=False): - return self.command_class - - -class CommandManager(object): - """Discovers commands and handles lookup based on argv data. - - :param namespace: String containing the setuptools entrypoint namespace - for the plugins to be loaded. For example, - ``'cliff.formatter.list'``. - :param convert_underscores: Whether cliff should convert underscores to - spaces in entry_point commands. - """ - def __init__(self, namespace, convert_underscores=True): - self.commands = {} - self.namespace = namespace - self.convert_underscores = convert_underscores - self._load_commands() - - def _load_commands(self): - # NOTE(jamielennox): kept for compatibility. - self.load_commands(self.namespace) - - def load_commands(self, namespace): - """Load all the commands from an entrypoint""" - for ep in pkg_resources.iter_entry_points(namespace): - LOG.debug('found command %r', ep.name) - cmd_name = (ep.name.replace('_', ' ') - if self.convert_underscores - else ep.name) - self.commands[cmd_name] = ep - return - - def __iter__(self): - return iter(self.commands.items()) - - def add_command(self, name, command_class): - self.commands[name] = EntryPointWrapper(name, command_class) - - def find_command(self, argv): - """Given an argument list, find a command and - return the processor and any remaining arguments. - """ - start = self._get_last_possible_command_index(argv) - for i in range(start, 0, -1): - name = ' '.join(argv[:i]) - search_args = argv[i:] - if name in self.commands: - cmd_ep = self.commands[name] - if hasattr(cmd_ep, 'resolve'): - cmd_factory = cmd_ep.resolve() - else: - # NOTE(dhellmann): Some fake classes don't take - # require as an argument. Yay? - arg_spec = inspect.getargspec(cmd_ep.load) - if 'require' in arg_spec[0]: - cmd_factory = cmd_ep.load(require=False) - else: - cmd_factory = cmd_ep.load() - return (cmd_factory, name, search_args) - else: - raise ValueError('Unknown command %r' % - (argv,)) - - def _get_last_possible_command_index(self, argv): - """Returns the index after the last argument - in argv that can be a command word - """ - for i, arg in enumerate(argv): - if arg.startswith('-'): - return i - return len(argv) |