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 - [email protected]
+
+- 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 <[email protected]>
+Andreas Jaeger <[email protected]>
 Andrew Spiers <[email protected]>
 Cedric Brandily <[email protected]>
 ChangBo Guo(gcb) <[email protected]>
@@ -27,6 +28,7 @@
 Ryan Petrello <[email protected]>
 Sascha Peilicke <[email protected]>
 Sean Perry <[email protected]>
+Steve Baker <[email protected]>
 Terry Howe <[email protected]>
 TerryHowe <[email protected]>
 Thomas Bechtold <[email protected]>
@@ -35,5 +37,6 @@
 gcmalloc <[email protected]>
 heavenshell <[email protected]>
 kafka <[email protected]>
+liyingjun <[email protected]>
 markmcclain <[email protected]>
 qneill <[email protected]>
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 = 
 


Reply via email to