Hello community,
here is the log from the commit of package python-cliff for openSUSE:Factory checked in at 2015-10-01 09:28:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cliff (Old)
and /work/SRC/openSUSE:Factory/.python-cliff.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cliff"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cliff/python-cliff.changes 2015-09-02 00:35:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-cliff.new/python-cliff.changes 2015-10-01 09:29:01.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Sep 16 11:34:00 UTC 2015 - tbechtold@suse.com
+
+- update to 1.15.0:
+ * Replace '\r' with ' ' for prettytable
+ * Implement a json formatter in cliff
+ * Implement a yaml formatter in cliff
+ * Updated from global requirements
+ * Improve help messages
+- Adjust Requires according to requirements.txt
+
+-------------------------------------------------------------------
Old:
----
cliff-1.14.0.tar.gz
New:
----
cliff-1.15.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cliff.spec ++++++
--- /var/tmp/diff_new_pack.RZYzhN/_old 2015-10-01 09:29:01.000000000 +0200
+++ /var/tmp/diff_new_pack.RZYzhN/_new 2015-10-01 09:29:01.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-cliff
-Version: 1.14.0
+Version: 1.15.0
Release: 0
Url: https://github.com/dreamhost/cliff
Summary: Command Line Interface Formulation Framework
@@ -46,6 +46,7 @@
%if 0%{?suse_version} <= 1110
Requires: python-argparse
%endif
+Requires: python-PyYAML >= 3.1.0
Requires: python-cmd2 >= 0.6.7
Requires: python-pyparsing >= 2.0.1
Requires: python-six >= 1.9.0
++++++ cliff-1.14.0.tar.gz -> cliff-1.15.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/AUTHORS new/cliff-1.15.0/AUTHORS
--- old/cliff-1.14.0/AUTHORS 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/AUTHORS 2015-09-15 23:27:57.000000000 +0200
@@ -1,4 +1,5 @@
Andrea Frittoli
+Andreas Jaeger
Andrew Spiers
Cedric Brandily
ChangBo Guo(gcb)
@@ -27,6 +28,7 @@
Ryan Petrello
Sascha Peilicke
Sean Perry
+Steve Baker
Terry Howe
TerryHowe
Thomas Bechtold
@@ -35,5 +37,6 @@
gcmalloc
heavenshell
kafka
+liyingjun
markmcclain
qneill
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/ChangeLog new/cliff-1.15.0/ChangeLog
--- old/cliff-1.14.0/ChangeLog 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/ChangeLog 2015-09-15 23:27:57.000000000 +0200
@@ -1,6 +1,15 @@
CHANGES
=======
+1.15.0
+------
+
+* Replace '\r' with ' ' for prettytable
+* Implement a json formatter in cliff
+* Implement a yaml formatter in cliff
+* Updated from global requirements
+* Improve help messages
+
1.14.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/PKG-INFO new/cliff-1.15.0/PKG-INFO
--- old/cliff-1.14.0/PKG-INFO 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/PKG-INFO 2015-09-15 23:27:57.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cliff
-Version: 1.14.0
+Version: 1.15.0
Summary: Command Line Interface Formulation Framework
Home-page: https://launchpad.net/python-cliff
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/app.py new/cliff-1.15.0/cliff/app.py
--- old/cliff-1.14.0/cliff/app.py 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/cliff/app.py 2015-09-15 23:27:35.000000000 +0200
@@ -148,14 +148,14 @@
action='store_const',
dest='verbose_level',
const=0,
- help='suppress output except warnings and errors',
+ help='Suppress output except warnings and errors.',
)
if self.deferred_help:
parser.add_argument(
'-h', '--help',
dest='deferred_help',
action='store_true',
- help="show this help message and exit",
+ help="Show help message and exit.",
)
else:
parser.add_argument(
@@ -163,13 +163,13 @@
action=HelpAction,
nargs=0,
default=self, # tricky
- help="show this help message and exit",
+ help="Show this help message and exit.",
)
parser.add_argument(
'--debug',
default=False,
action='store_true',
- help='show tracebacks on errors',
+ help='Show tracebacks on errors.',
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/formatters/json_format.py new/cliff-1.15.0/cliff/formatters/json_format.py
--- old/cliff-1.14.0/cliff/formatters/json_format.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/formatters/json_format.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,30 @@
+"""Output formatters for JSON.
+"""
+
+import json
+
+from .base import ListFormatter, SingleFormatter
+
+
+class JSONFormatter(ListFormatter, SingleFormatter):
+
+ def add_argument_group(self, parser):
+ group = parser.add_argument_group(title='json formatter')
+ group.add_argument(
+ '--noindent',
+ action='store_true',
+ dest='noindent',
+ help='whether to disable indenting the JSON'
+ )
+
+ def emit_list(self, column_names, data, stdout, parsed_args):
+ items = []
+ for item in data:
+ items.append(dict(zip(column_names, item)))
+ indent = None if parsed_args.noindent else 2
+ json.dump(items, stdout, indent=indent)
+
+ def emit_one(self, column_names, data, stdout, parsed_args):
+ one = dict(zip(column_names, data))
+ indent = None if parsed_args.noindent else 2
+ json.dump(one, stdout, indent=indent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/formatters/table.py new/cliff-1.15.0/cliff/formatters/table.py
--- old/cliff-1.14.0/cliff/formatters/table.py 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/cliff/formatters/table.py 2015-09-15 23:27:35.000000000 +0200
@@ -2,6 +2,7 @@
"""
import prettytable
+import six
from .base import ListFormatter, SingleFormatter
@@ -51,6 +52,9 @@
# Now iterate over the data and add the rows.
x.add_row(first_row)
for row in data_iter:
+ row = [r.replace('\r\n', '\n').replace('\r', ' ')
+ if isinstance(r, six.string_types) else r
+ for r in row]
x.add_row(row)
formatted = x.get_string(fields=column_names)
stdout.write(formatted)
@@ -68,6 +72,8 @@
x.align['Field'] = 'l'
x.align['Value'] = 'l'
for name, value in zip(column_names, data):
+ value = (value.replace('\r\n', '\n').replace('\r', ' ') if
+ isinstance(value, six.string_types) else value)
x.add_row((name, value))
formatted = x.get_string(fields=('Field', 'Value'))
stdout.write(formatted)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/formatters/yaml_format.py new/cliff-1.15.0/cliff/formatters/yaml_format.py
--- old/cliff-1.14.0/cliff/formatters/yaml_format.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/formatters/yaml_format.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,23 @@
+"""Output formatters using PyYAML.
+"""
+
+import yaml
+
+from .base import ListFormatter, SingleFormatter
+
+
+class YAMLFormatter(ListFormatter, SingleFormatter):
+
+ def add_argument_group(self, parser):
+ pass
+
+ def emit_list(self, column_names, data, stdout, parsed_args):
+ items = []
+ for item in data:
+ items.append(dict(zip(column_names, item)))
+ yaml.safe_dump(items, stream=stdout, default_flow_style=False)
+
+ def emit_one(self, column_names, data, stdout, parsed_args):
+ for key, value in zip(column_names, data):
+ dict_data = {key: value}
+ yaml.safe_dump(dict_data, stream=stdout, default_flow_style=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_app.py new/cliff-1.15.0/cliff/tests/test_app.py
--- old/cliff-1.14.0/cliff/tests/test_app.py 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/cliff/tests/test_app.py 2015-09-15 23:27:35.000000000 +0200
@@ -202,7 +202,7 @@
parser.add_argument(
'-h', '--help',
default=self, # tricky
- help="show this help message and exit",
+ help="Show help message and exit.",
)
# TODO: tests should really use unittest2.
@@ -232,7 +232,7 @@
parser.add_argument(
'-h', '--help',
default=self, # tricky
- help="show this help message and exit",
+ help="Show this help message and exit.",
)
MyApp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_formatters_json.py new/cliff-1.15.0/cliff/tests/test_formatters_json.py
--- old/cliff-1.14.0/cliff/tests/test_formatters_json.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/tests/test_formatters_json.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+from six import StringIO
+import json
+
+from cliff.formatters import json_format
+
+import mock
+
+
+def test_json_format_one():
+ sf = json_format.JSONFormatter()
+ c = ('a', 'b', 'c', 'd')
+ d = ('A', 'B', 'C', '"escape me"')
+ expected = {
+ 'a': 'A',
+ 'b': 'B',
+ 'c': 'C',
+ 'd': '"escape me"'
+ }
+ args = mock.Mock()
+ sf.add_argument_group(args)
+
+ args.noindent = True
+ output = StringIO()
+ sf.emit_one(c, d, output, args)
+ value = output.getvalue()
+ print(len(value.splitlines()))
+ assert 1 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
+
+ args.noindent = False
+ output = StringIO()
+ sf.emit_one(c, d, output, args)
+ value = output.getvalue()
+ assert 6 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
+
+
+def test_json_format_list():
+ sf = json_format.JSONFormatter()
+ c = ('a', 'b', 'c')
+ d = (
+ ('A1', 'B1', 'C1'),
+ ('A2', 'B2', 'C2'),
+ ('A3', 'B3', 'C3')
+ )
+ expected = [
+ {'a': 'A1', 'b': 'B1', 'c': 'C1'},
+ {'a': 'A2', 'b': 'B2', 'c': 'C2'},
+ {'a': 'A3', 'b': 'B3', 'c': 'C3'}
+ ]
+ args = mock.Mock()
+ sf.add_argument_group(args)
+
+ args.noindent = True
+ output = StringIO()
+ sf.emit_list(c, d, output, args)
+ value = output.getvalue()
+ assert 1 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
+
+ args.noindent = False
+ output = StringIO()
+ sf.emit_list(c, d, output, args)
+ value = output.getvalue()
+ assert 17 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_formatters_table.py new/cliff-1.15.0/cliff/tests/test_formatters_table.py
--- old/cliff-1.14.0/cliff/tests/test_formatters_table.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/tests/test_formatters_table.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+from six import StringIO
+
+from cliff.formatters import table
+
+
+class args(object):
+ def __init__(self, max_width=0):
+ self.max_width = max_width
+
+
+def test_table_formatter():
+ sf = table.TableFormatter()
+ c = ('a', 'b', 'c', 'd')
+ d = ('A', 'B', 'C', 'test\rcarriage\r\nreturn')
+ expected = '''\
++-------+---------------+
+| Field | Value |
++-------+---------------+
+| a | A |
+| b | B |
+| c | C |
+| d | test carriage |
+| | return |
++-------+---------------+
+'''
+ output = StringIO()
+ parsed_args = args()
+ sf.emit_one(c, d, output, parsed_args)
+ actual = output.getvalue()
+ assert expected == actual
+
+
+def test_table_list_formatter():
+ sf = table.TableFormatter()
+ c = ('a', 'b', 'c')
+ d1 = ('A', 'B', 'C')
+ d2 = ('D', 'E', 'test\rcarriage\r\nreturn')
+ data = [d1, d2]
+ expected = '''\
++---+---+---------------+
+| a | b | c |
++---+---+---------------+
+| A | B | C |
+| D | E | test carriage |
+| | | return |
++---+---+---------------+
+'''
+ output = StringIO()
+ parsed_args = args()
+ sf.emit_list(c, data, output, parsed_args)
+ actual = output.getvalue()
+ assert expected == actual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_formatters_yaml.py new/cliff-1.15.0/cliff/tests/test_formatters_yaml.py
--- old/cliff-1.14.0/cliff/tests/test_formatters_yaml.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/tests/test_formatters_yaml.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+from six import StringIO
+import yaml
+
+from cliff.formatters import yaml_format
+
+import mock
+
+
+def test_yaml_format_one():
+ sf = yaml_format.YAMLFormatter()
+ c = ('a', 'b', 'c', 'd')
+ d = ('A', 'B', 'C', '"escape me"')
+ expected = {
+ 'a': 'A',
+ 'b': 'B',
+ 'c': 'C',
+ 'd': '"escape me"'
+ }
+ output = StringIO()
+ args = mock.Mock()
+ sf.emit_one(c, d, output, args)
+ actual = yaml.safe_load(output.getvalue())
+ assert expected == actual
+
+
+def test_yaml_format_list():
+ sf = yaml_format.YAMLFormatter()
+ c = ('a', 'b', 'c')
+ d = (
+ ('A1', 'B1', 'C1'),
+ ('A2', 'B2', 'C2'),
+ ('A3', 'B3', 'C3')
+ )
+ expected = [
+ {'a': 'A1', 'b': 'B1', 'c': 'C1'},
+ {'a': 'A2', 'b': 'B2', 'c': 'C2'},
+ {'a': 'A3', 'b': 'B3', 'c': 'C3'}
+ ]
+ output = StringIO()
+ args = mock.Mock()
+ sf.add_argument_group(args)
+ sf.emit_list(c, d, output, args)
+ actual = yaml.safe_load(output.getvalue())
+ assert expected == actual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/PKG-INFO new/cliff-1.15.0/cliff.egg-info/PKG-INFO
--- old/cliff-1.14.0/cliff.egg-info/PKG-INFO 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/PKG-INFO 2015-09-15 23:27:57.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cliff
-Version: 1.14.0
+Version: 1.15.0
Summary: Command Line Interface Formulation Framework
Home-page: https://launchpad.net/python-cliff
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/SOURCES.txt new/cliff-1.15.0/cliff.egg-info/SOURCES.txt
--- old/cliff-1.14.0/cliff.egg-info/SOURCES.txt 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/SOURCES.txt 2015-09-15 23:27:57.000000000 +0200
@@ -35,17 +35,22 @@
cliff/formatters/__init__.py
cliff/formatters/base.py
cliff/formatters/commaseparated.py
+cliff/formatters/json_format.py
cliff/formatters/shell.py
cliff/formatters/table.py
cliff/formatters/value.py
+cliff/formatters/yaml_format.py
cliff/tests/__init__.py
cliff/tests/test_app.py
cliff/tests/test_command.py
cliff/tests/test_commandmanager.py
cliff/tests/test_complete.py
cliff/tests/test_formatters_csv.py
+cliff/tests/test_formatters_json.py
cliff/tests/test_formatters_shell.py
+cliff/tests/test_formatters_table.py
cliff/tests/test_formatters_value.py
+cliff/tests/test_formatters_yaml.py
cliff/tests/test_help.py
cliff/tests/test_interactive.py
cliff/tests/test_lister.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/entry_points.txt new/cliff-1.15.0/cliff.egg-info/entry_points.txt
--- old/cliff-1.14.0/cliff.egg-info/entry_points.txt 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/entry_points.txt 2015-09-15 23:27:57.000000000 +0200
@@ -4,11 +4,15 @@
[cliff.formatter.list]
csv = cliff.formatters.commaseparated:CSVLister
+json = cliff.formatters.json_format:JSONFormatter
table = cliff.formatters.table:TableFormatter
value = cliff.formatters.value:ValueFormatter
+yaml = cliff.formatters.yaml_format:YAMLFormatter
[cliff.formatter.show]
+json = cliff.formatters.json_format:JSONFormatter
shell = cliff.formatters.shell:ShellFormatter
table = cliff.formatters.table:TableFormatter
value = cliff.formatters.value:ValueFormatter
+yaml = cliff.formatters.yaml_format:YAMLFormatter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/pbr.json new/cliff-1.15.0/cliff.egg-info/pbr.json
--- old/cliff-1.14.0/cliff.egg-info/pbr.json 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/pbr.json 2015-09-15 23:27:57.000000000 +0200
@@ -1 +1 @@
-{"git_version": "3473869", "is_release": true}
\ No newline at end of file
+{"is_release": true, "git_version": "a2e52e2"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/requires.txt new/cliff-1.15.0/cliff.egg-info/requires.txt
--- old/cliff-1.14.0/cliff.egg-info/requires.txt 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/requires.txt 2015-09-15 23:27:57.000000000 +0200
@@ -1,8 +1,9 @@
-pbr<2.0,>=1.3
+pbr<2.0,>=1.4
argparse
cmd2>=0.6.7
PrettyTable<0.8,>=0.7
pyparsing>=2.0.1
six>=1.9.0
-stevedore>=1.5.0 # Apache-2.0
+stevedore>=1.5.0
unicodecsv>=0.8.0
+PyYAML>=3.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/doc/source/interactive_mode.rst new/cliff-1.15.0/doc/source/interactive_mode.rst
--- old/cliff-1.14.0/doc/source/interactive_mode.rst 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/doc/source/interactive_mode.rst 2015-09-15 23:27:35.000000000 +0200
@@ -48,7 +48,7 @@
A simple command that prints a message.
optional arguments:
- -h, --help show this help message and exit
+ -h, --help Show help message and exit.
The commands can be run, including options and arguments, as on the
regular command line:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/doc/source/list_commands.rst new/cliff-1.15.0/doc/source/list_commands.rst
--- old/cliff-1.14.0/doc/source/list_commands.rst 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/doc/source/list_commands.rst 2015-09-15 23:27:35.000000000 +0200
@@ -90,11 +90,59 @@
Makefile is 5569 bytes
source is 408 bytes
+yaml
+----
+
+The ``yaml`` formatter uses PyYAML_ to produce a YAML sequence of
+mappings.
+
+.. _PyYAML: http://pyyaml.org/
+
+::
+
+ (.venv)$ cliffdemo files -f yaml
+ - Name: dist
+ Size: 4096
+ - Name: cliffdemo.egg-info
+ Size: 4096
+ - Name: README.rst
+ Size: 960
+ - Name: setup.py
+ Size: 1807
+ - Name: build
+ Size: 4096
+ - Name: cliffdemo
+ Size: 4096
+
+json
+----
+
+The ``json`` formatter produces an array of objects in indented JSON
+format.
+
+::
+
+ (.venv)$ cliffdemo files -f json
+ [
+ {
+ "Name": "source",
+ "Size": 4096
+ },
+ {
+ "Name": "Makefile",
+ "Size": 5569
+ },
+ {
+ "Name": "build",
+ "Size": 4096
+ }
+ ]
+
Other Formatters
----------------
-Formatters using tablib_ to produce JSON, YAML, and HTML are available
-as part of `cliff-tablib`_.
+A formatter using tablib_ to produce HTML is available as part of
+`cliff-tablib`_.
.. _cliff-tablib: https://github.com/dreamhost/cliff-tablib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/doc/source/show_commands.rst new/cliff-1.15.0/doc/source/show_commands.rst
--- old/cliff-1.14.0/doc/source/show_commands.rst 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/doc/source/show_commands.rst 2015-09-15 23:27:35.000000000 +0200
@@ -83,11 +83,45 @@
(.venv)$ echo $SIZE
5916
+yaml
+----
+
+The ``yaml`` formatter uses PyYAML_ to produce a YAML mapping where
+the field name is the key.
+
+.. _PyYAML: http://pyyaml.org/
+
+::
+
+ (.venv)$ cliffdemo file -f yaml setup.py
+ Name: setup.py
+ Size: 1807
+ UID: 1000
+ GID: 1000
+ Modified Time: 1393531476.9587486
+
+json
+----
+
+The ``json`` formatter produces a JSON object where the field name
+is the key.
+
+::
+
+ (.venv)$ cliffdemo file -f json setup.py
+ {
+ "Modified Time": 1438726433.8055942,
+ "GID": 1000,
+ "UID": 1000,
+ "Name": "setup.py",
+ "Size": 1028
+ }
+
Other Formatters
----------------
-Formatters using tablib_ to produce JSON, YAML, and HTML are available
-as part of `cliff-tablib`_.
+A formatter using tablib_ to produce HTML is available as part of
+`cliff-tablib`_.
.. _cliff-tablib: https://github.com/dreamhost/cliff-tablib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/requirements.txt new/cliff-1.15.0/requirements.txt
--- old/cliff-1.14.0/requirements.txt 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/requirements.txt 2015-09-15 23:27:35.000000000 +0200
@@ -1,7 +1,7 @@
# 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<2.0,>=1.3
+pbr<2.0,>=1.4
argparse
cmd2>=0.6.7
PrettyTable<0.8,>=0.7
@@ -9,3 +9,4 @@
six>=1.9.0
stevedore>=1.5.0 # Apache-2.0
unicodecsv>=0.8.0
+PyYAML>=3.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/setup.cfg new/cliff-1.15.0/setup.cfg
--- old/cliff-1.14.0/setup.cfg 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/setup.cfg 2015-09-15 23:27:57.000000000 +0200
@@ -30,10 +30,14 @@
table = cliff.formatters.table:TableFormatter
csv = cliff.formatters.commaseparated:CSVLister
value = cliff.formatters.value:ValueFormatter
+ yaml = cliff.formatters.yaml_format:YAMLFormatter
+ json = cliff.formatters.json_format:JSONFormatter
cliff.formatter.show =
table = cliff.formatters.table:TableFormatter
shell = cliff.formatters.shell:ShellFormatter
value = cliff.formatters.value:ValueFormatter
+ yaml = cliff.formatters.yaml_format:YAMLFormatter
+ json = cliff.formatters.json_format:JSONFormatter
cliff.formatter.completion =
bash = cliff.complete:CompleteBash
none = cliff.complete:CompleteNoCode
@@ -44,7 +48,7 @@
source-dir = doc/source
[egg_info]
-tag_build =
tag_date = 0
tag_svn_revision = 0
+tag_build =