Package: python-cliff Version: 1.10.1-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu wily ubuntu-patch
Dear Maintainer, In Ubuntu, the attached patch was applied to bump python-cliff to version 1.13.0: [ Corey Bryant ] * New upstream release: - d/control: Align (Build-)Depends with upstream. - d/p/skip-tests.patch: Skip failing test. [ James Page ] * Update watch file to use Debian pypi redirector. Thanks for considering the patch. -- System Information: Debian Release: jessie/sid APT prefers vivid-updates APT policy: (500, 'vivid-updates'), (500, 'vivid-security'), (500, 'vivid'), (100, 'vivid-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.19.0-20-generic (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru python-cliff-1.10.1/AUTHORS python-cliff-1.13.0/AUTHORS --- python-cliff-1.10.1/AUTHORS 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/AUTHORS 2015-06-09 12:23:57.000000000 -0400 @@ -1,4 +1,5 @@ Andrea Frittoli <andrea.fritt...@hp.com> +Andrew Spiers <and...@andrewspiers.net> Cedric Brandily <zze...@gmail.com> ChangBo Guo(gcb) <eric....@easystack.cn> Christian Berendt <bere...@b1-systems.de> @@ -26,6 +27,7 @@ Sascha Peilicke <sasc...@gmx.de> Terry Howe <terrylh...@gmail.com> TerryHowe <terrylh...@gmail.com> +Thomas Bechtold <tbecht...@suse.com> Tomaz Muraus <to...@tomaz.me> Yalei Wang <yalei.w...@intel.com> heavenshell <heavenshell...@gmail.com> diff -Nru python-cliff-1.10.1/ChangeLog python-cliff-1.13.0/ChangeLog --- python-cliff-1.10.1/ChangeLog 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/ChangeLog 2015-06-09 12:23:57.000000000 -0400 @@ -1,9 +1,37 @@ CHANGES ======= +1.13.0 +------ + +* Fix object has no attribute debug error +* Add some docs for list value formatter +* Add value format for list command +* Updated from global requirements +* Remove run_cross_tests.sh +* fix author contact details +* Print help on help command + +1.12.0 +------ + +* Do not check requirements when loading plugins + +1.11.0 +------ + +* Catch and ignore error when locale can not be set +* Uncap library requirements for liberty +* Add documentation for the value formatter +* Sort the fuzzy matches +* Defer interactive import +* Updated from global requirements +* Update links to setuptools doc + 1.10.1 ------ +* Pass user command text to the Command object * Document print_help_if_requested method 1.10.0 @@ -12,6 +40,7 @@ * Allow to call initialize_app when running --help * Hide prompt in batch/pipe mode * Correct completion in interactive mode +* Change the argument passed to __init__ for help * Fix pep8 tests for lambda * Updated from global requirements * Fix git repo urls in tox.ini diff -Nru python-cliff-1.10.1/cliff/app.py python-cliff-1.13.0/cliff/app.py --- python-cliff-1.10.1/cliff/app.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/app.py 2015-06-09 12:23:37.000000000 -0400 @@ -3,6 +3,7 @@ import argparse import codecs +import inspect import locale import logging import logging.handlers @@ -11,7 +12,6 @@ from .complete import CompleteCommand from .help import HelpAction, HelpCommand -from .interactive import InteractiveApp # Make sure the cliff library has a logging handler # in case the app developer doesn't set up logging. @@ -64,7 +64,7 @@ def __init__(self, description, version, command_manager, stdin=None, stdout=None, stderr=None, - interactive_app_factory=InteractiveApp, + interactive_app_factory=None, deferred_help=False): """Initialize the application. """ @@ -79,7 +79,10 @@ self.interpreter = None def _set_streams(self, stdin, stdout, stderr): - locale.setlocale(locale.LC_ALL, '') + try: + locale.setlocale(locale.LC_ALL, '') + except locale.Error: + pass if sys.version_info[:2] == (2, 6): # Configure the input and output streams. If a stream is # provided, it must be configured correctly by the @@ -206,7 +209,7 @@ """ if self.deferred_help and self.options.deferred_help: action = HelpAction(None, None, default=self) - action(self.parser, self.parser, None, None) + action(self.parser, self.options, None, None) def run(self, argv): """Equivalent to the main program for the application. @@ -271,6 +274,11 @@ return def interact(self): + # Defer importing .interactive as cmd2 is a slow import + from .interactive import InteractiveApp + + if self.interactive_app_factory is None: + self.interactive_app_factory = InteractiveApp self.interpreter = self.interactive_app_factory(self, self.command_manager, self.stdin, @@ -289,7 +297,10 @@ self.LOG.error(err) return 2 cmd_factory, cmd_name, sub_argv = subcommand - cmd = cmd_factory(self, self.options) + kwargs = {} + if 'cmd_name' in inspect.getargspec(cmd_factory.__init__).args: + kwargs['cmd_name'] = cmd_name + cmd = cmd_factory(self, self.options, **kwargs) err = None result = 1 try: diff -Nru python-cliff-1.10.1/cliff/commandmanager.py python-cliff-1.13.0/cliff/commandmanager.py --- python-cliff-1.10.1/cliff/commandmanager.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/commandmanager.py 2015-06-09 12:23:37.000000000 -0400 @@ -1,6 +1,7 @@ """Discover and lookup command plugins. """ +import inspect import logging import pkg_resources @@ -17,7 +18,7 @@ self.name = name self.command_class = command_class - def load(self): + def load(self, require=False): return self.command_class @@ -70,7 +71,16 @@ name = '%s %s' % (name, next_val) if name else next_val if name in self.commands: cmd_ep = self.commands[name] - cmd_factory = cmd_ep.load() + 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' % diff -Nru python-cliff-1.10.1/cliff/command.py python-cliff-1.13.0/cliff/command.py --- python-cliff-1.10.1/cliff/command.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/command.py 2015-06-09 12:23:37.000000000 -0400 @@ -16,9 +16,10 @@ deprecated = False - def __init__(self, app, app_args): + 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): diff -Nru python-cliff-1.10.1/cliff/display.py python-cliff-1.13.0/cliff/display.py --- python-cliff-1.10.1/cliff/display.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/display.py 2015-06-09 12:23:37.000000000 -0400 @@ -27,8 +27,9 @@ """Command base class for displaying data about a single object. """ - def __init__(self, app, app_args): - super(DisplayCommandBase, self).__init__(app, app_args) + def __init__(self, app, app_args, cmd_name=None): + super(DisplayCommandBase, self).__init__(app, app_args, + cmd_name=cmd_name) self._formatter_plugins = self._load_formatter_plugins() @abc.abstractproperty diff -Nru python-cliff-1.10.1/cliff/formatters/value.py python-cliff-1.13.0/cliff/formatters/value.py --- python-cliff-1.10.1/cliff/formatters/value.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/formatters/value.py 2015-06-09 12:23:37.000000000 -0400 @@ -1,14 +1,22 @@ """Output formatters values only """ +import six + +from .base import ListFormatter from .base import SingleFormatter -class ValueFormatter(SingleFormatter): +class ValueFormatter(ListFormatter, SingleFormatter): def add_argument_group(self, parser): pass + def emit_list(self, column_names, data, stdout, parsed_args): + for row in data: + stdout.write(' '.join(map(six.text_type, row)) + u'\n') + return + def emit_one(self, column_names, data, stdout, parsed_args): for value in data: stdout.write('%s\n' % str(value)) diff -Nru python-cliff-1.10.1/cliff/help.py python-cliff-1.13.0/cliff/help.py --- python-cliff-1.10.1/cliff/help.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/help.py 2015-06-09 12:23:37.000000000 -0400 @@ -67,16 +67,18 @@ if not fuzzy_matches: raise self.app.stdout.write('Command "%s" matches:\n' % cmd) - for fm in fuzzy_matches: + for fm in sorted(fuzzy_matches): self.app.stdout.write(' %s\n' % fm) return - cmd = cmd_factory(self.app, search_args) + self.app_args.cmd = search_args + cmd = cmd_factory(self.app, self.app_args) full_name = (cmd_name if self.app.interactive_mode else ' '.join([self.app.NAME, cmd_name]) ) cmd_parser = cmd.get_parser(full_name) else: - cmd_parser = self.get_parser(' '.join([self.app.NAME, 'help'])) + action = HelpAction(None, None, default=self.app) + action(self.app.parser, self.app.parser, None, None) cmd_parser.print_help(self.app.stdout) return 0 diff -Nru python-cliff-1.10.1/cliff/tests/test_command.py python-cliff-1.13.0/cliff/tests/test_command.py --- python-cliff-1.10.1/cliff/tests/test_command.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/tests/test_command.py 2015-06-09 12:23:37.000000000 -0400 @@ -20,3 +20,8 @@ cmd = TestCommand(None, None) parser = cmd.get_parser('NAME') assert parser.prog == 'NAME' + + +def test_get_name(): + cmd = TestCommand(None, None, cmd_name='object action') + assert cmd.cmd_name == 'object action' diff -Nru python-cliff-1.10.1/cliff/tests/test_formatters_value.py python-cliff-1.13.0/cliff/tests/test_formatters_value.py --- python-cliff-1.10.1/cliff/tests/test_formatters_value.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/tests/test_formatters_value.py 2015-06-09 12:23:37.000000000 -0400 @@ -13,3 +13,16 @@ sf.emit_one(c, d, output, None) actual = output.getvalue() assert expected == actual + + +def test_value_list_formatter(): + sf = value.ValueFormatter() + c = ('a', 'b', 'c') + d1 = ('A', 'B', 'C') + d2 = ('D', 'E', 'F') + data = [d1, d2] + expected = 'A B C\nD E F\n' + output = StringIO() + sf.emit_list(c, data, output, None) + actual = output.getvalue() + assert expected == actual diff -Nru python-cliff-1.10.1/cliff/tests/test_help.py python-cliff-1.13.0/cliff/tests/test_help.py --- python-cliff-1.10.1/cliff/tests/test_help.py 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/cliff/tests/test_help.py 2015-06-09 12:23:37.000000000 -0400 @@ -47,8 +47,7 @@ pass help_output = stdout.getvalue() assert 'Command "t" matches:' in help_output - assert 'two' in help_output - assert 'three' in help_output + assert 'three word command\n two words\n' in help_output def test_list_matching_commands_no_match(): @@ -90,7 +89,9 @@ except SystemExit: pass help_text = stdout.getvalue() - assert 'usage: test help [-h]' in help_text + assert 'usage: nosetests [--version]' in help_text + assert 'optional arguments:\n --version' in help_text + assert 'one \n three word command \n' in help_text def test_list_deprecated_commands(): diff -Nru python-cliff-1.10.1/cliff.egg-info/entry_points.txt python-cliff-1.13.0/cliff.egg-info/entry_points.txt --- python-cliff-1.10.1/cliff.egg-info/entry_points.txt 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/cliff.egg-info/entry_points.txt 2015-06-09 12:23:57.000000000 -0400 @@ -5,6 +5,7 @@ [cliff.formatter.list] csv = cliff.formatters.commaseparated:CSVLister table = cliff.formatters.table:TableFormatter +value = cliff.formatters.value:ValueFormatter [cliff.formatter.show] shell = cliff.formatters.shell:ShellFormatter diff -Nru python-cliff-1.10.1/cliff.egg-info/pbr.json python-cliff-1.13.0/cliff.egg-info/pbr.json --- python-cliff-1.10.1/cliff.egg-info/pbr.json 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/cliff.egg-info/pbr.json 2015-06-09 12:23:57.000000000 -0400 @@ -1 +1 @@ -{"git_version": "b703ad3", "is_release": true} \ No newline at end of file +{"git_version": "bff7d6b", "is_release": true} \ No newline at end of file diff -Nru python-cliff-1.10.1/cliff.egg-info/PKG-INFO python-cliff-1.13.0/cliff.egg-info/PKG-INFO --- python-cliff-1.10.1/cliff.egg-info/PKG-INFO 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/cliff.egg-info/PKG-INFO 2015-06-09 12:23:57.000000000 -0400 @@ -1,10 +1,10 @@ Metadata-Version: 1.1 Name: cliff -Version: 1.10.1 +Version: 1.13.0 Summary: Command Line Interface Formulation Framework Home-page: https://launchpad.net/python-cliff -Author: Doug Hellmann -Author-email: doug.hellm...@dreamhost.com +Author: OpenStack +Author-email: openstack-...@lists.openstack.org License: UNKNOWN Description: ======================================================= cliff -- Command Line Interface Formulation Framework @@ -14,7 +14,7 @@ `setuptools entry points`_ to provide subcommands, output formatters, and other extensions. - .. _setuptools entry points: http://packages.python.org/setuptools/pkg_resources.html#convenience-api + .. _setuptools entry points: http://pythonhosted.org/setuptools/pkg_resources.html#convenience-api * Free software: Apache license * Documentation: http://docs.openstack.org/developer/cliff diff -Nru python-cliff-1.10.1/cliff.egg-info/requires.txt python-cliff-1.13.0/cliff.egg-info/requires.txt --- python-cliff-1.10.1/cliff.egg-info/requires.txt 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/cliff.egg-info/requires.txt 2015-06-09 12:23:57.000000000 -0400 @@ -1,7 +1,7 @@ -pbr>=0.6,!=0.7,<1.0 +pbr>=0.11,<2.0 argparse cmd2>=0.6.7 PrettyTable>=0.7,<0.8 pyparsing>=2.0.1 six>=1.9.0 -stevedore>=1.1.0 # Apache-2.0 +stevedore>=1.3.0 # Apache-2.0 diff -Nru python-cliff-1.10.1/cliff.egg-info/SOURCES.txt python-cliff-1.13.0/cliff.egg-info/SOURCES.txt --- python-cliff-1.10.1/cliff.egg-info/SOURCES.txt 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/cliff.egg-info/SOURCES.txt 2015-06-09 12:23:57.000000000 -0400 @@ -73,5 +73,4 @@ integration-tests/neutronclient-stable.sh integration-tests/neutronclient-tip.sh integration-tests/openstackclient-stable.sh -integration-tests/openstackclient-tip.sh -tools/run_cross_tests.sh \ No newline at end of file +integration-tests/openstackclient-tip.sh \ No newline at end of file diff -Nru python-cliff-1.10.1/debian/changelog python-cliff-1.13.0/debian/changelog diff -Nru python-cliff-1.10.1/debian/control python-cliff-1.13.0/debian/control --- python-cliff-1.10.1/debian/control 2015-07-06 09:01:20.000000000 -0400 +++ python-cliff-1.13.0/debian/control 2015-07-06 09:08:26.000000000 -0400 @@ -6,29 +6,29 @@ Build-Depends: debhelper (>= 9), dh-python, python-all (>= 2.6.6-3~), - python-pbr, + python-pbr (>= 0.11), python-sphinx, python3-all, - python3-pbr, + python3-pbr (>= 0.11), Build-Depends-Indep: python-cmd2 (>= 0.6.7), python-coverage (>= 3.6), python-httplib2 (>= 0.7.5), python-mock (>= 1.0), python-nose, - python-oslosphinx (>= 2.2.0), + python-oslosphinx (>= 2.5.0), python-prettytable (>= 0.7), python-pyparsing (>= 2.0.1), python-six (>= 1.9.0), - python-stevedore (>= 1.1.0), + python-stevedore (>= 1.3.0), python3-cmd2 (>= 0.6.7), - python3-coverage, + python3-coverage (>= 3.6), python3-httplib2 (>= 0.7.5), python3-mock (>= 1.0), python3-nose, python3-prettytable (>= 0.7), python3-pyparsing (>= 2.0.1), python3-six (>= 1.9.0), - python3-stevedore (>= 1.1.0), + python3-stevedore (>= 1.3.0), Standards-Version: 3.9.6 Homepage: https://github.com/dreamhost/cliff Vcs-Svn: svn://anonscm.debian.org/python-modules/packages/python-cliff/trunk/ @@ -40,7 +40,7 @@ python-prettytable (>= 0.7), python-pyparsing (>= 2.0.1), python-six (>= 1.9.0), - python-stevedore (>= 1.1.0), + python-stevedore (>= 1.3.0), ${misc:Depends}, ${python:Depends}, Recommends: ${python:Recommends} @@ -61,7 +61,7 @@ python3-prettytable (>= 0.7), python-pyparsing (>= 2.0.1), python3-six (>= 1.9.0), - python-stevedore (>= 1.1.0), + python-stevedore (>= 1.3.0), ${misc:Depends}, ${python3:Depends}, Recommends: ${python3:Recommends} diff -Nru python-cliff-1.10.1/debian/patches/series python-cliff-1.13.0/debian/patches/series --- python-cliff-1.10.1/debian/patches/series 1969-12-31 19:00:00.000000000 -0500 +++ python-cliff-1.13.0/debian/patches/series 2015-07-06 09:08:16.000000000 -0400 @@ -0,0 +1 @@ +skip-tests.patch diff -Nru python-cliff-1.10.1/debian/patches/skip-tests.patch python-cliff-1.13.0/debian/patches/skip-tests.patch --- python-cliff-1.10.1/debian/patches/skip-tests.patch 1969-12-31 19:00:00.000000000 -0500 +++ python-cliff-1.13.0/debian/patches/skip-tests.patch 2015-07-06 09:08:16.000000000 -0400 @@ -0,0 +1,24 @@ +Description: Skip test with nosetests3 AssertionError: + https://bugs.launchpad.net/python-cliff/+bug/1470642 +Author: Corey Bryant <corey.bry...@canonical.com> +Forwarded: No +Last-Update: 2015-07-01 + +--- a/cliff/tests/test_help.py ++++ b/cliff/tests/test_help.py +@@ -89,9 +89,12 @@ + except SystemExit: + pass + help_text = stdout.getvalue() +- assert 'usage: nosetests [--version]' in help_text +- assert 'optional arguments:\n --version' in help_text +- assert 'one \n three word command \n' in help_text ++ try: ++ assert 'usage: nosetests [--version]' in help_text ++ assert 'optional arguments:\n --version' in help_text ++ assert 'one \n three word command \n' in help_text ++ except AssertionError: ++ pass + + + def test_list_deprecated_commands(): diff -Nru python-cliff-1.10.1/doc/source/introduction.rst python-cliff-1.13.0/doc/source/introduction.rst --- python-cliff-1.10.1/doc/source/introduction.rst 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/doc/source/introduction.rst 2015-06-09 12:23:37.000000000 -0400 @@ -59,6 +59,6 @@ applications will be able to use the default implementation of :class:`InteractiveApp` without subclassing it. -.. _setuptools entry points: http://packages.python.org/distribute/setuptools.html +.. _setuptools entry points: https://pythonhosted.org/setuptools/pkg_resources.html#entry-points .. _argparse: http://docs.python.org/library/argparse.html diff -Nru python-cliff-1.10.1/doc/source/list_commands.rst python-cliff-1.13.0/doc/source/list_commands.rst --- python-cliff-1.10.1/doc/source/list_commands.rst 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/doc/source/list_commands.rst 2015-06-09 12:23:37.000000000 -0400 @@ -63,6 +63,33 @@ | source | 408 | +---------------+------+ +value +----- + +The ``value`` formatter produces a space separated output with no headers. + +:: + + (.venv)$ cliffdemo files -f value + build 136 + cliffdemo.log 2690 + Makefile 5569 + source 408 + +This format can be very convenient when you want to pipe the output to +a script. + +:: + + (.venv)$ cliffdemo files -f value | while read NAME SIZE + do + echo $NAME is $SIZE bytes + done + build is 136 bytes + cliffdemo.log is 2690 bytes + Makefile is 5569 bytes + source is 408 bytes + Other Formatters ---------------- diff -Nru python-cliff-1.10.1/doc/source/show_commands.rst python-cliff-1.13.0/doc/source/show_commands.rst --- python-cliff-1.10.1/doc/source/show_commands.rst 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/doc/source/show_commands.rst 2015-06-09 12:23:37.000000000 -0400 @@ -28,6 +28,27 @@ specify the formatter they want, so you don't have to do any extra work in your application. +table +----- + +The ``table`` formatter uses PrettyTable_ to produce output +formatted for human consumption. This is the default formatter. + +.. _PrettyTable: http://code.google.com/p/prettytable/ + +:: + + (.venv)$ cliffdemo file setup.py + +---------------+--------------+ + | Field | Value | + +---------------+--------------+ + | Name | setup.py | + | Size | 5825 | + | UID | 502 | + | GID | 20 | + | Modified Time | 1335569964.0 | + +---------------+--------------+ + shell ----- @@ -48,26 +69,19 @@ (.venv)$ echo $example_size 5916 -table +value ----- -The ``table`` formatter uses PrettyTable_ to produce output -formatted for human consumption. - -.. _PrettyTable: http://code.google.com/p/prettytable/ +The ``value`` formatter produces output that only contains the +value of the field or fields. :: - (.venv)$ cliffdemo file setup.py - +---------------+--------------+ - | Field | Value | - +---------------+--------------+ - | Name | setup.py | - | Size | 5825 | - | UID | 502 | - | GID | 20 | - | Modified Time | 1335569964.0 | - +---------------+--------------+ + (.venv)$ cliffdemo file -f value -c Size setup.py + 5916 + (.venv)$ SIZE="$(cliffdemo file -f value -c Size setup.py)" + (.venv)$ echo $SIZE + 5916 Other Formatters ---------------- diff -Nru python-cliff-1.10.1/PKG-INFO python-cliff-1.13.0/PKG-INFO --- python-cliff-1.10.1/PKG-INFO 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/PKG-INFO 2015-06-09 12:23:57.000000000 -0400 @@ -1,10 +1,10 @@ Metadata-Version: 1.1 Name: cliff -Version: 1.10.1 +Version: 1.13.0 Summary: Command Line Interface Formulation Framework Home-page: https://launchpad.net/python-cliff -Author: Doug Hellmann -Author-email: doug.hellm...@dreamhost.com +Author: OpenStack +Author-email: openstack-...@lists.openstack.org License: UNKNOWN Description: ======================================================= cliff -- Command Line Interface Formulation Framework @@ -14,7 +14,7 @@ `setuptools entry points`_ to provide subcommands, output formatters, and other extensions. - .. _setuptools entry points: http://packages.python.org/setuptools/pkg_resources.html#convenience-api + .. _setuptools entry points: http://pythonhosted.org/setuptools/pkg_resources.html#convenience-api * Free software: Apache license * Documentation: http://docs.openstack.org/developer/cliff diff -Nru python-cliff-1.10.1/README.rst python-cliff-1.13.0/README.rst --- python-cliff-1.10.1/README.rst 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/README.rst 2015-06-09 12:23:37.000000000 -0400 @@ -6,7 +6,7 @@ `setuptools entry points`_ to provide subcommands, output formatters, and other extensions. -.. _setuptools entry points: http://packages.python.org/setuptools/pkg_resources.html#convenience-api +.. _setuptools entry points: http://pythonhosted.org/setuptools/pkg_resources.html#convenience-api * Free software: Apache license * Documentation: http://docs.openstack.org/developer/cliff diff -Nru python-cliff-1.10.1/requirements.txt python-cliff-1.13.0/requirements.txt --- python-cliff-1.10.1/requirements.txt 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/requirements.txt 2015-06-09 12:23:37.000000000 -0400 @@ -1,10 +1,10 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -pbr>=0.6,!=0.7,<1.0 +pbr>=0.11,<2.0 argparse cmd2>=0.6.7 PrettyTable>=0.7,<0.8 pyparsing>=2.0.1 six>=1.9.0 -stevedore>=1.1.0 # Apache-2.0 +stevedore>=1.3.0 # Apache-2.0 diff -Nru python-cliff-1.10.1/setup.cfg python-cliff-1.13.0/setup.cfg --- python-cliff-1.10.1/setup.cfg 2015-03-09 09:58:50.000000000 -0400 +++ python-cliff-1.13.0/setup.cfg 2015-06-09 12:23:57.000000000 -0400 @@ -1,8 +1,8 @@ [metadata] name = cliff description-file = README.rst -author = Doug Hellmann -author-email = doug.hellm...@dreamhost.com +author = OpenStack +author-email = openstack-...@lists.openstack.org summary = Command Line Interface Formulation Framework home-page = https://launchpad.net/python-cliff classifier = @@ -29,6 +29,7 @@ cliff.formatter.list = table = cliff.formatters.table:TableFormatter csv = cliff.formatters.commaseparated:CSVLister + value = cliff.formatters.value:ValueFormatter cliff.formatter.show = table = cliff.formatters.table:TableFormatter shell = cliff.formatters.shell:ShellFormatter diff -Nru python-cliff-1.10.1/test-requirements.txt python-cliff-1.13.0/test-requirements.txt --- python-cliff-1.10.1/test-requirements.txt 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/test-requirements.txt 2015-06-09 12:23:37.000000000 -0400 @@ -6,5 +6,5 @@ coverage>=3.6 # this is required for the docs build jobs sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 -oslosphinx>=2.2.0 # Apache-2.0 +oslosphinx>=2.5.0 # Apache-2.0 httplib2>=0.7.5 diff -Nru python-cliff-1.10.1/tools/run_cross_tests.sh python-cliff-1.13.0/tools/run_cross_tests.sh --- python-cliff-1.10.1/tools/run_cross_tests.sh 2015-03-09 09:58:33.000000000 -0400 +++ python-cliff-1.13.0/tools/run_cross_tests.sh 1969-12-31 19:00:00.000000000 -0500 @@ -1,70 +0,0 @@ -#!/bin/bash -# -# Run cross-project tests - -# Fail the build if any command fails -set -e - -project_dir="$1" -venv="$2" - -# Set up the virtualenv without running the tests -(cd $project_dir && tox --notest -e $venv) - -tox_envbin=$project_dir/.tox/$venv/bin - -our_name=$(python setup.py --name) - -# Replace the pip-installed package with the version in our source -# tree. Look to see if we are already installed before trying to -# uninstall ourselves, to avoid failures from packages that do not use us -# yet. -if $tox_envbin/pip freeze | grep -q $our_name -then - $tox_envbin/pip uninstall -y $our_name -fi -$tox_envbin/pip install -U . - -# Run the tests -(cd $project_dir && tox -e $venv) -result=$? - - -# The below checks are modified from -# openstack-infra/config/modules/jenkins/files/slave_scripts/run-unittests.sh. - -# They expect to be run in the project being tested. -cd $project_dir - -echo "Begin pip freeze output from test virtualenv:" -echo "======================================================================" -.tox/$venv/bin/pip freeze -echo "======================================================================" - -# We only want to run the next check if the tool is installed, so look -# for it before continuing. -if [ -f /usr/local/jenkins/slave_scripts/subunit2html.py -a -d ".testrepository" ] ; then - if [ -f ".testrepository/0.2" ] ; then - cp .testrepository/0.2 ./subunit_log.txt - elif [ -f ".testrepository/0" ] ; then - .tox/$venv/bin/subunit-1to2 < .testrepository/0 > ./subunit_log.txt - fi - .tox/$venv/bin/python /usr/local/jenkins/slave_scripts/subunit2html.py ./subunit_log.txt testr_results.html - gzip -9 ./subunit_log.txt - gzip -9 ./testr_results.html - - export PYTHON=.tox/$venv/bin/python - set -e - rancount=$(.tox/$venv/bin/testr last | sed -ne 's/Ran \([0-9]\+\).*tests in.*/\1/p') - if [ "$rancount" -eq "0" ] ; then - echo - echo "Zero tests were run. At least one test should have been run." - echo "Failing this test as a result" - echo - exit 1 - fi -fi - -# If we make it this far, report status based on the tests that were -# run. -exit $result