From e2cc2530fc6d54ebc975c01a4ff887ce12f0a736 Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Wed, 29 Mar 2017 13:35:45 +0300 Subject: [SDC-6] sdc-distribution-client 1707 rebasing Change-Id: I322a05fd79beb6ba4fee4d32afffecf531b86e98 Signed-off-by: Pavel Aharoni --- .../cliff-2.4.0-py2.7.egg/cliff/command.py | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/command.py (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/command.py') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/command.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/command.py new file mode 100644 index 0000000..8430563 --- /dev/null +++ b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/command.py @@ -0,0 +1,90 @@ +# 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. + +import abc +import inspect + +import six + +from cliff import argparse + + +@six.add_metaclass(abc.ABCMeta) +class Command(object): + """Base class for command plugins. + + :param app: Application instance invoking the command. + :paramtype app: cliff.app.App + + """ + + deprecated = False + + _description = '' + + def __init__(self, app, app_args, cmd_name=None): + self.app = app + self.app_args = app_args + self.cmd_name = cmd_name + return + + def get_description(self): + """Return the command description. + + The default is to use the first line of the class' docstring + as the description. Set the ``_description`` class attribute + to a one-line description of a command to use a different + value. This is useful for enabling translations, for example, + with ``_description`` set to a string wrapped with a gettext + translation marker. + + """ + # NOTE(dhellmann): We need the trailing "or ''" because under + # Python 2.7 the default for the docstring is None instead of + # an empty string, and we always want this method to return a + # string. + desc = self._description or inspect.getdoc(self.__class__) or '' + # The base class command description isn't useful for any + # real commands, so ignore that value. + if desc == inspect.getdoc(Command): + desc = '' + return desc + + def get_parser(self, prog_name): + """Return an :class:`argparse.ArgumentParser`. + """ + parser = argparse.ArgumentParser( + description=self.get_description(), + prog=prog_name, + ) + return parser + + @abc.abstractmethod + def take_action(self, parsed_args): + """Override to do something useful. + + The returned value will be returned by the program. + """ + + def run(self, parsed_args): + """Invoked by the application when the command is run. + + Developers implementing commands should override + :meth:`take_action`. + + Developers creating new command base classes (such as + :class:`Lister` and :class:`ShowOne`) should override this + method to wrap :meth:`take_action`. + + Return the value returned by :meth:`take_action` or 0. + """ + return self.take_action(parsed_args) or 0 -- cgit 1.2.3-korg