Hello community,

here is the log from the commit of package python-oslo.config for openSUSE:13.1 
checked in at 2013-10-02 13:33:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1/python-oslo.config (Old)
 and      /work/SRC/openSUSE:13.1/.python-oslo.config.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.config"

Changes:
--------
--- /work/SRC/openSUSE:13.1/python-oslo.config/python-oslo.config.changes       
2013-09-23 11:06:46.000000000 +0200
+++ /work/SRC/openSUSE:13.1/.python-oslo.config.new/python-oslo.config.changes  
2013-10-02 13:33:08.000000000 +0200
@@ -1,0 +2,20 @@
+Fri Sep 27 08:11:13 UTC 2013 - speili...@suse.com
+
+- Fix service URL 
+
+-------------------------------------------------------------------
+Thu Sep 26 13:18:36 UTC 2013 - dmuel...@suse.com
+
+- update to 1.2.1:
+  * 1223667_: Fix DictOpt to split only the first colon
+  * 1228995_: Disallow duplicate keys in DictOpt
+  * Explicit version removed from setup.cfg
+  * Dependency version updates
+  * Add auto-create support for OptGroup instances (see review 41865_)
+  * Publish full API docs to docs.openstack.org_
+  * Finished Python 3 support
+  * 1196601_: Raise an exception if print_help() is called before __call__
+  * Fix DeprecatedOpt equality test
+  * Use oslo.sphinx
+
+-------------------------------------------------------------------

Old:
----
  oslo.config-1.2.0a4.tar.gz

New:
----
  oslo.config-1.2.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oslo.config.spec ++++++
--- /var/tmp/diff_new_pack.JkWRc1/_old  2013-10-02 13:33:08.000000000 +0200
+++ /var/tmp/diff_new_pack.JkWRc1/_new  2013-10-02 13:33:08.000000000 +0200
@@ -19,23 +19,21 @@
 %define component oslo
 
 Name:           python-oslo.config
-Version:        1.2.0a4
+Version:        1.2.1
 Release:        0
 Url:            https://launchpad.net/oslo/
 Summary:        OpenStack configuration API
 License:        Apache-2.0
 Group:          Development/Languages/Python
-Source:         oslo.config-1.2.0a4.tar.gz
+Source:         oslo.config-1.2.1.tar.gz
 Source99:       rpmlintrc
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  fdupes
 BuildRequires:  openstack-suse-macros
 BuildRequires:  python-base
-BuildRequires:  python-d2to1
 BuildRequires:  python-oslo.sphinx
 BuildRequires:  python-pbr
 Requires:       python-argparse
-Requires:       python-d2to1
 Requires:       python-pbr
 Requires:       python-six
 Provides:       python-oslo-config = 2013.2
@@ -85,13 +83,7 @@
 This package contains testsuite files for %{name}.
 
 %prep
-%setup -q -n oslo.config-1.2.0a4
-
-# https://bugs.launchpad.net/oslo/+bug/1200984
-%if "%version" < "1.2.0a3"
-echo "need versioning fix first"
-exit 1
-%endif
+%setup -q -n oslo.config-1.2.1
 
 %build
 python setup.py build

++++++ _service ++++++
--- /var/tmp/diff_new_pack.JkWRc1/_old  2013-10-02 13:33:08.000000000 +0200
+++ /var/tmp/diff_new_pack.JkWRc1/_new  2013-10-02 13:33:08.000000000 +0200
@@ -1,6 +1,6 @@
 <services>
   <service name="git_tarballs" mode="disabled">
-    <param 
name="url">http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a4.tar.gz</param>
+    <param 
name="url">http://tarballs.openstack.org/oslo.config/oslo.config-1.2.1.tar.gz</param>
     <param name="email">opensuse-cl...@opensuse.org</param>
     <param name="plain-version">True</param>
   </service>

++++++ oslo.config-1.2.0a4.tar.gz -> oslo.config-1.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/AUTHORS 
new/oslo.config-1.2.1/AUTHORS
--- old/oslo.config-1.2.0a4/AUTHORS     2013-08-23 16:41:52.000000000 +0200
+++ new/oslo.config-1.2.1/AUTHORS       2013-09-26 11:48:14.000000000 +0200
@@ -12,6 +12,7 @@
 Flaper Fesp <flape...@gmail.com>
 Gary Kotton <gkot...@redhat.com>
 Giampaolo Lauria <lau...@us.ibm.com>
+Ian Wienand <iwien...@redhat.com>
 James E. Blair <jebl...@openstack.org>
 Jason Kölker <ja...@koelker.net>
 Joe Gordon <j...@cloudscaling.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/ChangeLog 
new/oslo.config-1.2.1/ChangeLog
--- old/oslo.config-1.2.0a4/ChangeLog   2013-08-23 16:41:52.000000000 +0200
+++ new/oslo.config-1.2.1/ChangeLog     2013-09-26 11:48:14.000000000 +0200
@@ -1,3 +1,148 @@
+commit eae8b3108d2c794a373660633042f3c0e3a23546
+Merge: 3d59667 bf70519
+Author: Jenkins <jenk...@review.openstack.org>
+Date:   Thu Sep 26 09:05:00 2013 +0000
+
+    Merge "Fix subparsers add_parser() regression"
+
+commit bf705193595d34a70abefc4b3867ea550c0c15db
+Author: Mark McLoughlin <mar...@redhat.com>
+Date:   Wed Sep 25 20:07:03 2013 +0100
+
+    Fix subparsers add_parser() regression
+    
+    With SubCommandOpt, the handler() callback gets invoked with a
+    subparsers object which has a add_parser() method. The arguments to
+    this method match the arguments to the ArgumentParser constructor and
+    the arguments are passed to the class for our ArgumentParser instance.
+    
+    However, we added a ArgumentParser subclass (_CachedArgumentParser) so
+    that we could sort the output of --help ... but the subclass doesn't
+    support all the arguments of the parent class.
+    
+    glance-control is the only known example of a SubCommandOpt user which
+    passes unusual arguments to subparsers.add_parser(). It uses the parent
+    arg and blows up at startup with:
+    
+       File "./bin/glance-control", line 276, in add_command_parsers
+         parser = subparsers.add_parser(server, parents=[cmd_parser])
+       File "/usr/lib64/python2.7/argparse.py", line 1064, in add_parser
+         parser = self._parser_class(**kwargs)
+     TypeError: __init__() got an unexpected keyword argument 'parents'
+    
+    It appears we broke glance-control back in June (commit 2951391), but
+    nobody noticed it until 1.2.0 was released and broke stable/grizzly
+    because we stopped using glance-control in the Havana glance unit tests
+    before this regression.
+    
+    Closes-Bug: #1230416
+    Change-Id: I8d1b52e5390295726eb49af32eb7cab14c29592c
+
+commit 3d59667b781650039f5ba2c454dff39d860f879e
+Author: Ian Wienand <iwien...@redhat.com>
+Date:   Wed Sep 25 14:31:06 2013 +1000
+
+    Expand DeprecatedOpt documentation
+    
+    It is not a priori obvious how deprecated options are chosen, so
+    expand the docstring a bit
+    
+    Change-Id: If10b45fb042b4a4d6063129b693228fd6ca86b82
+
+commit 9dabbd0ff744ae9fde993861aaeae576c2e19597
+Author: Mark McLoughlin <mar...@redhat.com>
+Date:   Mon Sep 23 15:55:30 2013 +0100
+
+    Release notes for 1.2.0
+    
+    Change-Id: Ic9c36f9d2b2ecc2d8d76ca87079e75f83c7f08c1
+
+commit 7ec9a88fc451386c23e472036849385da038f4fa
+Author: Zhongyue Luo <zhongyue....@intel.com>
+Date:   Thu Sep 12 21:23:36 2013 +0800
+
+    Raises error if duplicate keys found in DictOpt
+    
+    DictOpt didn't report when the input values had duplicate keys.
+    This would be a problem if the user had put in duplicate keys in
+    the conf file and the service didn't work as expected.
+    (c.f) Neutrons provider network mapping options
+    This patch raises a ConfigFileValueError when duplicate keys are found.
+    
+    Fixes bug #1228995
+    
+    Change-Id: I91e1bd0eda4ed4fd6c7eb6ea5d4a89d583d1305e
+
+commit f2be4e83f04579ee0cd87e8601868f310c951fac
+Author: Zhongyue Luo <zhongyue....@intel.com>
+Date:   Wed Sep 11 13:11:17 2013 +0800
+
+    Fix DictOpt to split only the first colon
+    
+    I've encountered a ValueError when adapting DictOpt to
+    neutron's network_vlan_ranges.
+    
https://github.com/openstack/neutron/blob/master/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini#L23
+    
+    This patch makes dictopt to split only the first colon for every value
+    
+    Fixes bug #1223667
+    
+    Change-Id: Iee4011f2a45be933dad393c72df099d6a8116849
+
+commit 0b915fd91f40c968aa507ba3c90ae43071646a5f
+Merge: a0905c8 58aa8f1
+Author: Jenkins <jenk...@review.openstack.org>
+Date:   Tue Aug 27 02:53:18 2013 +0000
+
+    Merge "Update requirements"
+
+commit 58aa8f12a357ca7ef8d78d2b00ae03057103f8d3
+Author: Julien Danjou <jul...@danjou.info>
+Date:   Fri Aug 23 11:06:04 2013 +0200
+
+    Update requirements
+    
+    This is the fabulous result of running the update.py script from
+    openstack/requirements with this repository as the target. It therefore
+    updates all dependencies, with nice version numbers that this repository
+    have to use to work. It also fixes case on some dependencies.
+    This update also brings a brand shiny new setup.py automatically handled
+    and generate by this same openstack/requirements repository.
+    
+    Change-Id: I22ec396e5fa802c1617514aa6df3ed82f05271b0
+
+commit a0905c875ba19f52c72822fa2cb85598d7099f95
+Author: Mark McLoughlin <mar...@redhat.com>
+Date:   Fri Aug 23 16:06:23 2013 +0100
+
+    Release notes for 1.2.0a4
+    
+    Change-Id: Iff43254317071b863d1ccd50eef4d71fb85240a7
+
+commit 662cfb09c0ea62e642077f80d74056b31dba94d1
+Author: Mark McLoughlin <mar...@redhat.com>
+Date:   Sun Aug 25 12:46:48 2013 +0100
+
+    Remove explicit version from setup.cfg
+    
+    With the explicit "pre version" in setup.cfg, PBR generates our
+    version as 1.2.0.a1.g2748574 and, without it, it generates
+    1.2.0a4.1.g2748574.
+    
+    which in turn causes nova to complain about:
+    
+     VersionConflict: (oslo.config 1.2.0.a1.g2748574
+     (/opt/stack/new/oslo.config),
+     Requirement.parse('oslo.config>=1.2.0a3'))
+    
+    when trying to load extensions with stevedore.
+    
+    I'm not sure why this is suddenly an issue after 1.2.0a4 has been
+    tagged, but removing this version is the right thing to do anyway
+    since we want to rely on tags for all versioning info.
+    
+    Change-Id: I9090b8401a43befd73a82f9bb78e0b6165619c7c
+
 commit 1cec054637b95fe394bbc57642806d41dd28ed8b
 Author: Davanum Srinivas <d...@linux.vnet.ibm.com>
 Date:   Sun Aug 18 19:52:33 2013 -0400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/PKG-INFO 
new/oslo.config-1.2.1/PKG-INFO
--- old/oslo.config-1.2.0a4/PKG-INFO    2013-08-23 16:41:53.000000000 +0200
+++ new/oslo.config-1.2.1/PKG-INFO      2013-09-26 11:48:14.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: oslo.config
-Version: 1.2.0a4
+Version: 1.2.1
 Summary: Oslo Configuration API
 Home-page: https://launchpad.net/oslo
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/doc/source/index.rst 
new/oslo.config-1.2.1/doc/source/index.rst
--- old/oslo.config-1.2.0a4/doc/source/index.rst        2013-08-23 
16:41:15.000000000 +0200
+++ new/oslo.config-1.2.1/doc/source/index.rst  2013-09-26 11:47:53.000000000 
+0200
@@ -20,6 +20,31 @@
 Release Notes
 =============
 
+1.2.0
+-----
+
+* 1223667_: Fix DictOpt to split only the first colon
+* 1228995_: Disallow duplicate keys in DictOpt
+* Explicit version removed from setup.cfg
+* Dependency version updates
+
+.. _1223667: https://bugs.launchpad.net/oslo/+bug/1223667
+.. _1228995: https://bugs.launchpad.net/oslo/+bug/1228995
+
+1.2.0a4
+-------
+
+* Add auto-create support for OptGroup instances (see review 41865_)
+* Publish full API docs to docs.openstack.org_
+* Finished Python 3 support
+* 1196601_: Raise an exception if print_help() is called before __call__
+* Fix DeprecatedOpt equality test
+* Use oslo.sphinx
+
+.. _41865: https://review.openstack.org/41865
+.. _1196601: https://bugs.launchpad.net/oslo/+bug/1196601
+.. _docs.openstack.org:  http://docs.openstack.org/developer/oslo.config/
+
 1.2.0a3
 -------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo/config/cfg.py 
new/oslo.config-1.2.1/oslo/config/cfg.py
--- old/oslo.config-1.2.0a4/oslo/config/cfg.py  2013-08-23 16:41:15.000000000 
+0200
+++ new/oslo.config-1.2.1/oslo/config/cfg.py    2013-09-26 11:47:53.000000000 
+0200
@@ -733,6 +733,13 @@
         cfg.CONF.register_group(cfg.OptGroup('blaa'))
         cfg.CONF.register_opt(cfg.StrOpt('foo', deprecated_opts=oldopts),
                                group='blaa')
+
+        Multi-value options will return all new and deprecated
+        options.  For single options, if the new option is present
+        ("[blaa]/foo" above) it will override any deprecated options
+        present.  If the new option is not present and multiple
+        deprecated options are present, the option corresponding to
+        the first element of deprecated_opts will be chosen.
     """
 
     def __init__(self, name, group=None):
@@ -911,9 +918,23 @@
         Split a value into key/value pairs separated by commas, then split
         the each into key and value using colons as separator and then
         stuff the key/value (s) into a dictionary
+
+        :param value: the string value of key/value pairs separated by commas
+        :returns: a dict object
+        :raises: ConfigFileValueError
         """
-        return dict([[a.strip() for a in v.split(':')]
-                    for v in value.split(',')])
+        res = dict()
+        for v in [a for a in value.split(',')]:
+            try:
+                key, val = [a.strip() for a in v.split(':', 1)]
+            except ValueError:
+                raise ConfigFileValueError("Failed to parse '%s' as a colon "
+                                           "separated key/value pair" % v)
+            if key in res:
+                raise ConfigFileValueError("Duplicate key error. Key: '%s'" %
+                                           key)
+            res[key] = val
+        return res
 
     class _StoreDictAction(argparse.Action):
         """An argparse action for parsing an option value into a dictionary."""
@@ -1448,8 +1469,8 @@
     order.
     """
 
-    def __init__(self, prog=None, usage=None):
-        super(_CachedArgumentParser, self).__init__(prog, usage)
+    def __init__(self, prog=None, usage=None, **kwargs):
+        super(_CachedArgumentParser, self).__init__(prog, usage, **kwargs)
         self._args_cache = {}
 
     def add_parser_argument(self, container, *args, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo.config.egg-info/PKG-INFO 
new/oslo.config-1.2.1/oslo.config.egg-info/PKG-INFO
--- old/oslo.config-1.2.0a4/oslo.config.egg-info/PKG-INFO       2013-08-23 
16:41:52.000000000 +0200
+++ new/oslo.config-1.2.1/oslo.config.egg-info/PKG-INFO 2013-09-26 
11:48:14.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: oslo.config
-Version: 1.2.0a4
+Version: 1.2.1
 Summary: Oslo Configuration API
 Home-page: https://launchpad.net/oslo
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo.config.egg-info/SOURCES.txt 
new/oslo.config-1.2.1/oslo.config.egg-info/SOURCES.txt
--- old/oslo.config-1.2.0a4/oslo.config.egg-info/SOURCES.txt    2013-08-23 
16:41:53.000000000 +0200
+++ new/oslo.config-1.2.1/oslo.config.egg-info/SOURCES.txt      2013-09-26 
11:48:14.000000000 +0200
@@ -23,6 +23,7 @@
 oslo.config.egg-info/SOURCES.txt
 oslo.config.egg-info/dependency_links.txt
 oslo.config.egg-info/namespace_packages.txt
+oslo.config.egg-info/not-zip-safe
 oslo.config.egg-info/requires.txt
 oslo.config.egg-info/top_level.txt
 oslo/config/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.config-1.2.0a4/oslo.config.egg-info/not-zip-safe 
new/oslo.config-1.2.1/oslo.config.egg-info/not-zip-safe
--- old/oslo.config-1.2.0a4/oslo.config.egg-info/not-zip-safe   1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.config-1.2.1/oslo.config.egg-info/not-zip-safe     2013-09-26 
11:47:56.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/setup.cfg 
new/oslo.config-1.2.1/setup.cfg
--- old/oslo.config-1.2.0a4/setup.cfg   2013-08-23 16:41:53.000000000 +0200
+++ new/oslo.config-1.2.1/setup.cfg     2013-09-26 11:48:14.000000000 +0200
@@ -1,6 +1,5 @@
 [metadata]
 name = oslo.config
-version = 1.2.0
 author = OpenStack
 author-email = openstack-...@lists.openstack.org
 summary = Oslo Configuration API
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/setup.py 
new/oslo.config-1.2.1/setup.py
--- old/oslo.config-1.2.0a4/setup.py    2013-08-23 16:41:15.000000000 +0200
+++ new/oslo.config-1.2.1/setup.py      2013-09-26 11:47:53.000000000 +0200
@@ -14,10 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
 import setuptools
 
 setuptools.setup(
-    namespace_packages=['oslo'],
-    packages=['oslo', 'oslo.config'],
-    setup_requires=['d2to1', 'pbr'],
-    d2to1=True)
+    setup_requires=['pbr>=0.5.21,<1.0'],
+    pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/test-requirements.txt 
new/oslo.config-1.2.1/test-requirements.txt
--- old/oslo.config-1.2.0a4/test-requirements.txt       2013-08-23 
16:41:15.000000000 +0200
+++ new/oslo.config-1.2.1/test-requirements.txt 2013-09-26 11:47:53.000000000 
+0200
@@ -1,21 +1,17 @@
-# Install bounded pep8/pyflakes first, then let flake8 install
-pep8==1.4.5
-pyflakes==0.7.2
-flake8==2.0
 hacking>=0.5.6,<0.8
 
 discover
-fixtures>=0.3.12
+fixtures>=0.3.14
 python-subunit
 testrepository>=0.0.17
-testscenarios<0.5
-testtools>=0.9.29
+testscenarios>=0.4
+testtools>=0.9.32
 
 # when we can require tox>= 1.4, this can go into tox.ini:
 #  [testenv:cover]
 #  deps = {[testenv]deps} coverage
-coverage
+coverage>=3.6
 
 # this is required for the docs build jobs
-sphinx
+sphinx>=1.1.2
 oslo.sphinx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.config-1.2.0a4/tests/test_cfg.py 
new/oslo.config-1.2.1/tests/test_cfg.py
--- old/oslo.config-1.2.0a4/tests/test_cfg.py   2013-08-23 16:41:15.000000000 
+0200
+++ new/oslo.config-1.2.1/tests/test_cfg.py     2013-09-26 11:47:53.000000000 
+0200
@@ -14,6 +14,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import argparse
 import os
 import shutil
 import sys
@@ -1010,6 +1011,42 @@
         self.assertTrue(hasattr(self.conf, 'foo'))
         self.assertEqual(self.conf.foo, {'key': 'bar'})
 
+    def test_conf_file_dict_colon_in_value(self):
+        self.conf.register_opt(cfg.DictOpt('foo'))
+
+        paths = self.create_tempfiles([('test',
+                                        '[DEFAULT]\n'
+                                        'foo = key:bar:baz\n')])
+
+        self.conf(['--config-file', paths[0]])
+
+        self.assertTrue(hasattr(self.conf, 'foo'))
+        self.assertEqual(self.conf.foo, {'key': 'bar:baz'})
+
+    def test_conf_file_dict_value_no_colon(self):
+        self.conf.register_opt(cfg.DictOpt('foo'))
+
+        paths = self.create_tempfiles([('test',
+                                        '[DEFAULT]\n'
+                                        'foo = key:bar,baz\n')])
+
+        self.conf(['--config-file', paths[0]])
+
+        self.assertRaises(cfg.ConfigFileValueError, self.conf._get, 'foo')
+        self.assertRaises(AttributeError, getattr, self.conf, 'foo')
+
+    def test_conf_file_dict_value_duplicate_key(self):
+        self.conf.register_opt(cfg.DictOpt('foo'))
+
+        paths = self.create_tempfiles([('test',
+                                        '[DEFAULT]\n'
+                                        'foo = key:bar,key:baz\n')])
+
+        self.conf(['--config-file', paths[0]])
+
+        self.assertRaises(cfg.ConfigFileValueError, self.conf._get, 'foo')
+        self.assertRaises(AttributeError, getattr, self.conf, 'foo')
+
     def test_conf_file_dict_values_override_deprecated(self):
         self.conf.register_cli_opt(cfg.DictOpt('foo',
                                    deprecated_name='oldfoo'))
@@ -2584,6 +2621,21 @@
 
         self.conf.register_cli_opt(
             cfg.SubCommandOpt('cmd', handler=add_parsers))
+        self.assertTrue(hasattr(self.conf, 'cmd'))
+        self.conf(['a', '10'])
+        self.assertTrue(hasattr(self.conf.cmd, 'name'))
+        self.assertTrue(hasattr(self.conf.cmd, 'bar'))
+        self.assertEqual(self.conf.cmd.name, 'a')
+        self.assertEqual(self.conf.cmd.bar, 10)
+
+    def test_sub_command_with_parent(self):
+        def add_parsers(subparsers):
+            parent = argparse.ArgumentParser(add_help=False)
+            parent.add_argument('bar', type=int)
+            subparsers.add_parser('a', parents=[parent])
+
+        self.conf.register_cli_opt(
+            cfg.SubCommandOpt('cmd', handler=add_parsers))
         self.assertTrue(hasattr(self.conf, 'cmd'))
         self.conf(['a', '10'])
         self.assertTrue(hasattr(self.conf.cmd, 'name'))


-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to