Hello community, here is the log from the commit of package python-traitlets for openSUSE:Factory checked in at 2019-11-22 10:23:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-traitlets (Old) and /work/SRC/openSUSE:Factory/.python-traitlets.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-traitlets" Fri Nov 22 10:23:42 2019 rev:5 rq:747883 version:4.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-traitlets/python-traitlets.changes 2017-07-07 10:16:27.694873223 +0200 +++ /work/SRC/openSUSE:Factory/.python-traitlets.new.26869/python-traitlets.changes 2019-11-22 10:23:44.073303443 +0100 @@ -1,0 +2,8 @@ +Tue Nov 12 16:31:49 UTC 2019 - Todd R <toddrme2...@gmail.com> + +- Update to version 4.3.3 + * Adds Application.loaded_config_files property for accessing + config files that have been loaded and makes the property + idempotent on multiple loads. + +------------------------------------------------------------------- Old: ---- traitlets-4.3.2.tar.gz New: ---- traitlets-4.3.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-traitlets.spec ++++++ --- /var/tmp/diff_new_pack.vysYhx/_old 2019-11-22 10:23:44.545303303 +0100 +++ /var/tmp/diff_new_pack.vysYhx/_new 2019-11-22 10:23:44.549303301 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-traitlets # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,15 +18,14 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-traitlets -Version: 4.3.2 +Version: 4.3.3 Release: 0 Summary: Traitlets Python config system License: BSD-3-Clause Group: Development/Languages/Python -Url: http://ipython.org +Url: https://github.com/ipython/traitlets Source: https://files.pythonhosted.org/packages/source/t/traitlets/traitlets-%{version}.tar.gz BuildRequires: %{python_module decorator} -BuildRequires: %{python_module devel} BuildRequires: %{python_module ipython_genutils} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module six} @@ -43,7 +42,6 @@ %ifpython2 Requires: python-enum34 %endif -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %python_subpackages @@ -67,8 +65,9 @@ } %files %{python_files} -%defattr(-,root,root,-) +%doc README.md %doc examples/ +%license COPYING.md %{python_sitelib}/traitlets/ %{python_sitelib}/traitlets-%{version}-py*.egg-info ++++++ traitlets-4.3.2.tar.gz -> traitlets-4.3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/MANIFEST.in new/traitlets-4.3.3/MANIFEST.in --- old/traitlets-4.3.2/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100 +++ new/traitlets-4.3.3/MANIFEST.in 2016-06-24 22:42:31.000000000 +0200 @@ -0,0 +1,22 @@ +include CONTRIBUTING.md +include COPYING.md +include README.md + +# Documentation +graft docs +exclude docs/\#* + +# Examples +graft examples + +# docs subdirs we want to skip +prune docs/build +prune docs/gh-pages +prune docs/dist + +# Patterns to exclude from any directory +global-exclude *~ +global-exclude *.pyc +global-exclude *.pyo +global-exclude .git +global-exclude .ipynb_checkpoints diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/PKG-INFO new/traitlets-4.3.3/PKG-INFO --- old/traitlets-4.3.2/PKG-INFO 2017-02-23 11:22:58.000000000 +0100 +++ new/traitlets-4.3.3/PKG-INFO 2019-10-03 13:40:00.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: traitlets -Version: 4.3.2 +Version: 4.3.3 Summary: Traitlets Python config system Home-page: http://ipython.org Author: IPython Development Team @@ -21,3 +21,4 @@ Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Provides-Extra: test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/docs/source/changelog.rst new/traitlets-4.3.3/docs/source/changelog.rst --- old/traitlets-4.3.2/docs/source/changelog.rst 2017-02-23 11:20:41.000000000 +0100 +++ new/traitlets-4.3.3/docs/source/changelog.rst 2019-10-03 13:37:49.000000000 +0200 @@ -4,6 +4,17 @@ 4.3 --- +4.3.3 +***** + +`4.3.3 on GitHub`_ + +4.3.3 backports some small bugfixes and improvements: + +- Adds :attr:`Application.loaded_config_files` property for accessing config files that have been loaded + and makes the property idempotent on multiple loads. + + 4.3.2 ***** @@ -112,3 +123,4 @@ .. _`4.3.0 on GitHub`: https://github.com/ipython/traitlets/milestones/4.3 .. _`4.3.1 on GitHub`: https://github.com/ipython/traitlets/milestones/4.3.1 .. _`4.3.2 on GitHub`: https://github.com/ipython/traitlets/milestones/4.3.2 +.. _`4.3.3 on GitHub`: https://github.com/ipython/traitlets/milestones/4.3.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/setup.cfg new/traitlets-4.3.3/setup.cfg --- old/traitlets-4.3.2/setup.cfg 2017-02-23 11:21:03.000000000 +0100 +++ new/traitlets-4.3.3/setup.cfg 2019-10-03 13:40:00.000000000 +0200 @@ -1,2 +1,7 @@ [bdist_wheel] -universal=1 +universal = 1 + +[egg_info] +tag_build = +tag_date = 0 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets/_version.py new/traitlets-4.3.3/traitlets/_version.py --- old/traitlets-4.3.2/traitlets/_version.py 2017-02-23 11:21:13.000000000 +0100 +++ new/traitlets-4.3.3/traitlets/_version.py 2019-10-03 13:38:10.000000000 +0200 @@ -1,2 +1,2 @@ -version_info = (4, 3, 2) +version_info = (4, 3, 3) __version__ = '.'.join(map(str, version_info)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets/config/application.py new/traitlets-4.3.3/traitlets/config/application.py --- old/traitlets-4.3.2/traitlets/config/application.py 2017-02-23 11:21:03.000000000 +0100 +++ new/traitlets-4.3.3/traitlets/config/application.py 2019-10-03 13:25:37.000000000 +0200 @@ -267,6 +267,7 @@ """ ) + _loaded_config_files = List() def __init__(self, **kwargs): SingletonConfigurable.__init__(self, **kwargs) @@ -554,10 +555,10 @@ if log: log.debug("Looking for %s in %s", basefilename, path or os.getcwd()) jsonloader = cls.json_config_loader_class(basefilename+'.json', path=path, log=log) - config = None loaded = [] filenames = [] for loader in [pyloader, jsonloader]: + config = None try: config = loader.load_config() except ConfigFileNotFound: @@ -583,21 +584,26 @@ " {1} has higher priority: {2}".format( filename, loader.full_filename, json.dumps(collisions, indent=2), )) - yield config + yield (config, loader.full_filename) loaded.append(config) filenames.append(loader.full_filename) - + @property + def loaded_config_files(self): + """Currently loaded configuration files""" + return self._loaded_config_files[:] @catch_config_error def load_config_file(self, filename, path=None): """Load config files by filename and path.""" filename, ext = os.path.splitext(filename) new_config = Config() - for config in self._load_config_files(filename, path=path, log=self.log, + for (config, filename) in self._load_config_files(filename, path=path, log=self.log, raise_config_file_errors=self.raise_config_file_errors, ): new_config.merge(config) + if filename not in self._loaded_config_files: # only add to list of loaded files if not previously loaded + self._loaded_config_files.append(filename) # add self.cli_config to preserve CLI config priority new_config.merge(self.cli_config) self.update_config(new_config) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets/config/tests/test_application.py new/traitlets-4.3.3/traitlets/config/tests/test_application.py --- old/traitlets-4.3.2/traitlets/config/tests/test_application.py 2017-02-23 11:21:03.000000000 +0100 +++ new/traitlets-4.3.3/traitlets/config/tests/test_application.py 2019-10-03 13:25:37.000000000 +0200 @@ -349,6 +349,48 @@ with self.assertRaises(SyntaxError): app.load_config_file(name, path=[td]) + def test_loaded_config_files(self): + app = MyApp() + app.log = logging.getLogger() + name = 'config.py' + with TemporaryDirectory('_1') as td1: + config_file = pjoin(td1, name) + with open(config_file, 'w') as f: + f.writelines([ + "c.MyApp.running = True\n" + ]) + + app.load_config_file(name, path=[td1]) + self.assertEqual(len(app.loaded_config_files), 1) + self.assertEquals(app.loaded_config_files[0], config_file) + + app.start() + self.assertEqual(app.running, True) + + # emulate an app that allows dynamic updates and update config file + with open(config_file, 'w') as f: + f.writelines([ + "c.MyApp.running = False\n" + ]) + + # reload and verify update, and that loaded_configs was not increased + app.load_config_file(name, path=[td1]) + self.assertEqual(len(app.loaded_config_files), 1) + self.assertEqual(app.running, False) + + # Attempt to update, ensure error... + with self.assertRaises(AttributeError): + app.loaded_config_files = "/foo" + + # ensure it can't be udpated via append + app.loaded_config_files.append("/bar") + self.assertEqual(len(app.loaded_config_files), 1) + + # repeat to ensure no unexpected changes occurred + app.load_config_file(name, path=[td1]) + self.assertEqual(len(app.loaded_config_files), 1) + self.assertEqual(app.running, False) + class DeprecatedApp(Application): override_called = False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets.egg-info/PKG-INFO new/traitlets-4.3.3/traitlets.egg-info/PKG-INFO --- old/traitlets-4.3.2/traitlets.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/traitlets-4.3.3/traitlets.egg-info/PKG-INFO 2019-10-03 13:40:00.000000000 +0200 @@ -0,0 +1,24 @@ +Metadata-Version: 2.1 +Name: traitlets +Version: 4.3.3 +Summary: Traitlets Python config system +Home-page: http://ipython.org +Author: IPython Development Team +Author-email: ipython-...@scipy.org +License: BSD +Description: A configuration system for Python applications. +Keywords: Interactive,Interpreter,Shell,Web +Platform: Linux +Platform: Mac OS X +Platform: Windows +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: Intended Audience :: Science/Research +Classifier: License :: OSI Approved :: BSD License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Provides-Extra: test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets.egg-info/SOURCES.txt new/traitlets-4.3.3/traitlets.egg-info/SOURCES.txt --- old/traitlets-4.3.2/traitlets.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/traitlets-4.3.3/traitlets.egg-info/SOURCES.txt 2019-10-03 13:40:00.000000000 +0200 @@ -0,0 +1,53 @@ +CONTRIBUTING.md +COPYING.md +MANIFEST.in +README.md +setup.cfg +setup.py +docs/Makefile +docs/environment.yml +docs/make.bat +docs/readme-docs.md +docs/requirements.txt +docs/source/api.rst +docs/source/changelog.rst +docs/source/conf.py +docs/source/config.rst +docs/source/defining_traits.rst +docs/source/index.rst +docs/source/migration.rst +docs/source/trait_types.rst +docs/source/using_traitlets.rst +docs/source/utils.rst +examples/myapp.py +traitlets/__init__.py +traitlets/_version.py +traitlets/log.py +traitlets/traitlets.py +traitlets.egg-info/PKG-INFO +traitlets.egg-info/SOURCES.txt +traitlets.egg-info/dependency_links.txt +traitlets.egg-info/requires.txt +traitlets.egg-info/top_level.txt +traitlets/config/__init__.py +traitlets/config/application.py +traitlets/config/configurable.py +traitlets/config/loader.py +traitlets/config/manager.py +traitlets/config/tests/__init__.py +traitlets/config/tests/test_application.py +traitlets/config/tests/test_configurable.py +traitlets/config/tests/test_loader.py +traitlets/tests/__init__.py +traitlets/tests/_warnings.py +traitlets/tests/test_traitlets.py +traitlets/tests/test_traitlets_enum.py +traitlets/tests/utils.py +traitlets/utils/__init__.py +traitlets/utils/bunch.py +traitlets/utils/getargspec.py +traitlets/utils/importstring.py +traitlets/utils/sentinel.py +traitlets/utils/tests/__init__.py +traitlets/utils/tests/test_bunch.py +traitlets/utils/tests/test_importstring.py \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets.egg-info/dependency_links.txt new/traitlets-4.3.3/traitlets.egg-info/dependency_links.txt --- old/traitlets-4.3.2/traitlets.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/traitlets-4.3.3/traitlets.egg-info/dependency_links.txt 2019-10-03 13:40:00.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets.egg-info/requires.txt new/traitlets-4.3.3/traitlets.egg-info/requires.txt --- old/traitlets-4.3.2/traitlets.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/traitlets-4.3.3/traitlets.egg-info/requires.txt 2019-10-03 13:40:00.000000000 +0200 @@ -0,0 +1,15 @@ +ipython_genutils +six +decorator + +[:python_version=="2.7"] +enum34 + +[:python_version=="3.3"] +enum34 + +[test] +pytest + +[test:python_version=="2.7"] +mock diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traitlets-4.3.2/traitlets.egg-info/top_level.txt new/traitlets-4.3.3/traitlets.egg-info/top_level.txt --- old/traitlets-4.3.2/traitlets.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/traitlets-4.3.3/traitlets.egg-info/top_level.txt 2019-10-03 13:40:00.000000000 +0200 @@ -0,0 +1 @@ +traitlets