diff -Nru python-debtcollector-1.13.0/AUTHORS python-debtcollector-1.20.0/AUTHORS --- python-debtcollector-1.13.0/AUTHORS 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/AUTHORS 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -Brant Knudson -ChangBo Guo(gcb) -Davanum Srinivas -Doug Hellmann -Flavio Percoco -Graham Hayes -Jamie Lennox -Jamie Lennox -Joe Gordon -Joshua Harlow -Joshua Harlow -Joshua Harlow -Matthew Treinish -Monty Taylor -OpenStack Release Bot -Pierre-André MOREY -Swapnil Kulkarni (coolsvap) -THOMAS J. COCOZZELLO -Tony Breeds -Tony Xu -Wei Li -caoyue -howardlee -janonymous -kavithahr diff -Nru python-debtcollector-1.13.0/ChangeLog python-debtcollector-1.20.0/ChangeLog --- python-debtcollector-1.13.0/ChangeLog 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,185 +0,0 @@ -CHANGES -======= - -1.13.0 ------- - -* Remove testscenarios from test-requirements.txt -* Python 3.4 support has been removed - -1.12.0 ------- - -* Updated from global requirements -* Updated from global requirements -* Update reno for stable/ocata - -1.11.0 ------- - -* Add Constraints support -* Show team and repo badges on README - -1.10.0 ------- - -* Updated from global requirements -* Typo fix for module debtcollector -* Updated from global requirements -* Add reno for release notes management -* Trivial: Remove 'MANIFEST.in' -* Updated from global requirements - -1.9.0 ------ - -* Updated from global requirements -* Update homepage with developer documentation page -* Fix a typo in comment - -1.8.0 ------ - -* Drop *openstack/common* in flake8 exclude list - -1.7.0 ------ - -* Remove discover from test-requirements -* Add Python 3.5 classifier and venv - -1.6.0 ------ - -* Updated from global requirements - -1.5.0 ------ - -* Updated from global requirements - -1.4.0 ------ - -* Drop babel as requirement since its not used -* Fix renamed_kwarg to preserve argspec -* Add tests for decorated argspec preservation -* Updated from global requirements -* Updated from global requirements - -1.3.0 ------ - -* Updated from global requirements -* Add debug testenv in tox - -1.2.0 ------ - -* Add updated_kwarg_default_value decorator -* Allow replacing a keyword argument -* Add 'removed_class' class decorator -* py26/py33 are no longer supported by Infra's CI - -1.1.0 ------ - -* Add removals.remove note about metaclasses - -1.0.0 ------ - -* Updated from global requirements -* Update get_class_name from olso.utils -* Remove Python 2.6 classifier -* Remove python 2.6 and cleanup tox.ini -* Add 'moved_read_only_property' descriptor - -0.10.0 ------- - -* Add ability to disable warnings being emitted - -0.9.0 ------ - -* Add a 'removed_property' descriptor class -* No need for Oslo Incubator Sync -* docs - Set pbr 'warnerrors' option for doc build -* Include changelog/history in docs -* tweak language in readme -* Enhance the README -* Change ignore-errors to ignore_errors -* Updated from global requirements -* Activate pep8 check that _ is imported -* Add a moved function helper - -0.8.0 ------ - -* Updated from global requirements -* Updated from global requirements -* Updated from global requirements - -0.7.0 ------ - -* Updated from global requirements -* Expose a top level 'deprecate' function -* Add @removals.removed_kwarg on an __init__ method -* Improve + test keyword argument @classmethod removal -* Add example for removing a @classmethod - -0.6.0 ------ - -* Ensure doctesting and doc8 testing done in py27 env -* Updated from global requirements -* Fix quoting of examples -* Updated from global requirements -* Switch badges from 'pypip.in' to 'shields.io' - -0.5.0 ------ - -* Remove oslo.utils dependency -* Updated from global requirements -* Ensure that the incoming 'new_class' is actually a class -* Allow providing the deprecation category - -0.4.0 ------ - -* Uncap library requirements for liberty -* No longer need to workaround six issue/bug -* Add pypi download + version badges -* Updated from global requirements - -0.3.0 ------ - -* Add a removed module deprecation helper -* Updated from global requirements -* Move to hacking 0.10 -* Add a 'removed_kwarg' function/method decorator -* Match the updated openstack-manuals description -* Format the method/class removals messages like the others -* Add examples of using the new removals decorator - -0.2.0 ------ - -* Add a removal decorator -* Add doctested examples into the documentation -* Add universal wheel tag to setup.cfg - -0.1.0 ------ - -* Upper case python -* Fix up the docs into reasonable shape -* Add a moved *instance* method deprecation pattern -* Initial import of renames/moves + tests -* Add a .gitreview file with correct values -* Adjust summary of project -* Initial commit diff -Nru python-debtcollector-1.13.0/CONTRIBUTING.rst python-debtcollector-1.20.0/CONTRIBUTING.rst --- python-debtcollector-1.13.0/CONTRIBUTING.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/CONTRIBUTING.rst 2018-07-09 09:15:47.000000000 +0000 @@ -1,16 +1,13 @@ If you would like to contribute to the development of OpenStack, you must follow the steps in this page: - - http://docs.openstack.org/infra/manual/developers.html +http://docs.openstack.org/infra/manual/developers.html Once those steps have been completed, changes to OpenStack should be submitted for review via the Gerrit tool, following the workflow documented at: - - http://docs.openstack.org/infra/manual/developers.html#development-workflow +http://docs.openstack.org/infra/manual/developers.html#development-workflow Pull requests submitted through GitHub will be ignored. Bugs should be filed on Launchpad, not GitHub: - - https://bugs.launchpad.net/debtcollector \ No newline at end of file +https://bugs.launchpad.net/debtcollector diff -Nru python-debtcollector-1.13.0/debian/changelog python-debtcollector-1.20.0/debian/changelog --- python-debtcollector-1.13.0/debian/changelog 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/changelog 2018-11-20 09:19:14.000000000 +0000 @@ -1,30 +1,31 @@ -python-debtcollector (1.13.0-0ubuntu1) artful; urgency=medium +python-debtcollector (1.20.0-2~cloud0) bionic-stein; urgency=medium - * d/watch: Use tarballs.openstack.org. - * Align (Build-)Depends with upstream milestone. - * New upstream release. + * New upstream release for the Ubuntu Cloud Archive. - -- James Page Fri, 21 Apr 2017 10:00:25 +0100 + -- Openstack Ubuntu Testing Bot Tue, 20 Nov 2018 09:19:14 +0000 -python-debtcollector (1.11.0-0ubuntu1) zesty; urgency=medium +python-debtcollector (1.20.0-2) unstable; urgency=medium - * New upstream version. - * d/control: Add dep-8 test. + * Uploading to unstable. - -- Chuck Short Thu, 19 Jan 2017 10:18:57 -0500 + -- Thomas Goirand Tue, 04 Sep 2018 22:59:57 +0200 -python-debtcollector (1.10.0-0ubuntu1) zesty; urgency=medium +python-debtcollector (1.20.0-1) experimental; urgency=medium - [ Corey Bryant ] - * d/gbp.conf: Update gbp configuration file. - * d/control: Update Vcs-* links and maintainers. + [ Ondřej Nový ] + * d/tests: Use AUTOPKGTEST_TMP instead of ADTTMP + * d/control: Use team+openstack@tracker.debian.org as maintainer - [ Chuck Short ] - * New upstream version. + [ Thomas Goirand ] + * New upstream release. + * Fixed (build-)depends for this release. + * Building the sphinx doc with Python 3. + * Fix sphinx_reproducible_build.patch to work with Python 3. + * Added a few stuff in build-depends. - -- Chuck Short Mon, 05 Dec 2016 11:07:12 -0500 + -- Thomas Goirand Wed, 22 Aug 2018 16:08:08 +0200 -python-debtcollector (1.5.0-1) experimental; urgency=medium +python-debtcollector (1.19.0-1) unstable; urgency=medium [ Ondřej Nový ] * Standards-Version is 3.9.8 now (no change) @@ -32,13 +33,23 @@ * Added simple Debian tests * d/copyright: Added myself to Debian part * Changed UPSTREAM_GIT to github.com + * d/control: Set Vcs-* to salsa.debian.org + + [ Daniel Baumann ] + * Updating copyright format url. + * Running wrap-and-sort -bast. + * Updating maintainer field. + * Removing gbp.conf, not used anymore or should be specified in the + developers dotfiles. + + [ Ondřej Nový ] [ Thomas Goirand ] * New upstream release. * Fixed (build-)depends for this release. - * Using pkgos-dh_auto_{test,install} from openstack-pkg-tools >= 52~. + * Modernized debian/rules. - -- Thomas Goirand Wed, 13 Jul 2016 16:51:55 +0200 + -- Thomas Goirand Fri, 02 Mar 2018 18:05:14 +0100 python-debtcollector (1.3.0-2) unstable; urgency=medium diff -Nru python-debtcollector-1.13.0/debian/control python-debtcollector-1.20.0/debian/control --- python-debtcollector-1.13.0/debian/control 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/control 2018-09-04 20:59:57.000000000 +0000 @@ -1,53 +1,52 @@ Source: python-debtcollector Section: python Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: PKG OpenStack -Uploaders: Thomas Goirand , -Build-Depends: debhelper (>= 9), - dh-python, - openstack-pkg-tools (>= 52~), - python-all, - python-pbr (>= 2.0.0), - python-setuptools, - python-sphinx, - python3-all, - python3-pbr (>= 2.0.0), - python3-setuptools, -Build-Depends-Indep: python-coverage, - python-fixtures (>= 3.0.0), - python-funcsigs (>= 0.4), - python-hacking, - python-oslosphinx (>= 2.5.0), - python-oslotest (>= 1.10.0), - python-six (>= 1.9.0), - python-testscenarios, - python-testtools, - python-wrapt, - python3-fixtures (>= 3.0.0), - python3-oslotest (>= 1.10.0), - python3-six (>= 1.9.0), - python3-testscenarios, - python3-testtools, - python3-wrapt, - subunit, - testrepository, -Standards-Version: 3.9.8 -Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-debtcollector -Vcs-Git: git://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-debtcollector +Maintainer: Debian OpenStack +Uploaders: + Thomas Goirand , +Build-Depends: + debhelper (>= 9), + dh-python, + openstack-pkg-tools, + python-all, + python-pbr (>= 2.0.0), + python-setuptools, + python3-all, + python3-pbr (>= 2.0.0), + python3-setuptools, + python3-sphinx, +Build-Depends-Indep: + python-coverage, + python-fixtures, + python-funcsigs (>= 1.0.0), + python-hacking, + python-six, + python-stestr (>= 2.0.0) , + python-testtools (>= 2.2.0) , + python-wrapt, + python3-fixtures, + python3-openstackdocstheme (>= 1.18.1), + python3-six, + python3-stestr (>= 2.0.0) , + python3-testtools (>= 2.2.0) , + python3-wrapt, + subunit, +Standards-Version: 4.1.0 +Vcs-Browser: https://salsa.debian.org/openstack-team/libs/python-debtcollector +Vcs-Git: https://salsa.debian.org/openstack-team/libs/python-debtcollector.git Homepage: http://www.openstack.org/ -Testsuite: autopkgtest-pkg-python - Package: python-debtcollector Architecture: all -Depends: python-pbr (>= 2.0.0), - python-funcsigs (>= 0.4), - python-six (>= 1.9.0), - python-wrapt, - ${misc:Depends}, - ${python:Depends}, -Suggests: python-debtcollector-doc, +Depends: + python-funcsigs (>= 1.0.0), + python-pbr (>= 2.0.0), + python-six, + python-wrapt, + ${misc:Depends}, + ${python:Depends}, +Suggests: + python-debtcollector-doc, Description: collection of patterns to collect technical debt - Python 2.x Debtcollector is a collection of Python patterns to help collecting technical debt in a non-destructive manner (following deprecation patterns and @@ -55,29 +54,32 @@ . This package contains the Python 2.x module. -Package: python3-debtcollector +Package: python-debtcollector-doc +Section: doc Architecture: all -Depends: python3-pbr (>= 2.0.0), - python3-six (>= 1.9.0), - python3-wrapt, - ${misc:Depends}, - ${python3:Depends}, -Suggests: python-debtcollector-doc, -Description: collection of patterns to collect technical debt - Python 3.x +Depends: + ${misc:Depends}, + ${sphinxdoc:Depends}, +Description: collection of patterns to collect technical debt - doc Debtcollector is a collection of Python patterns to help collecting technical debt in a non-destructive manner (following deprecation patterns and strategies and so-on). . - This package contains the Python 3.x module. + This package contains the documentation. -Package: python-debtcollector-doc -Section: doc +Package: python3-debtcollector Architecture: all -Depends: ${misc:Depends}, - ${sphinxdoc:Depends}, -Description: collection of patterns to collect technical debt - doc +Depends: + python3-pbr (>= 2.0.0), + python3-six, + python3-wrapt, + ${misc:Depends}, + ${python3:Depends}, +Suggests: + python-debtcollector-doc, +Description: collection of patterns to collect technical debt - Python 3.x Debtcollector is a collection of Python patterns to help collecting technical debt in a non-destructive manner (following deprecation patterns and strategies and so-on). . - This package contains the documentation. + This package contains the Python 3.x module. diff -Nru python-debtcollector-1.13.0/debian/copyright python-debtcollector-1.20.0/debian/copyright --- python-debtcollector-1.13.0/debian/copyright 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/copyright 2018-09-04 20:59:57.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: debtcollector Source: http://www.openstack.org/ diff -Nru python-debtcollector-1.13.0/debian/gbp.conf python-debtcollector-1.20.0/debian/gbp.conf --- python-debtcollector-1.13.0/debian/gbp.conf 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[DEFAULT] -debian-branch = master -upstream-tag = %(version)s -pristine-tar = True - -[buildpackage] -export-dir = ../build-area diff -Nru python-debtcollector-1.13.0/debian/patches/sphinx_reproducible_build.patch python-debtcollector-1.20.0/debian/patches/sphinx_reproducible_build.patch --- python-debtcollector-1.13.0/debian/patches/sphinx_reproducible_build.patch 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/patches/sphinx_reproducible_build.patch 2018-09-04 20:59:57.000000000 +0000 @@ -1,7 +1,7 @@ Description: Use SOURCE_DATE_EPOCH for copyright year to make build reproducible Author: Ondřej Nový Forwarded: not-needed -Last-Update: 2016-04-23 +Last-Update: 2018-08-22 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -10,7 +10,7 @@ # General information about the project. project = u'debtcollector' -copyright = u'%s, OpenStack Foundation' % datetime.date.today().year -+if os.environ.has_key('SOURCE_DATE_EPOCH'): ++if 'SOURCE_DATE_EPOCH' in os.environ: + this_year = datetime.datetime.utcfromtimestamp(float(os.environ.get('SOURCE_DATE_EPOCH'))).year +else: + this_year = datetime.date.today().year diff -Nru python-debtcollector-1.13.0/debian/rules python-debtcollector-1.20.0/debian/rules --- python-debtcollector-1.13.0/debian/rules 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/rules 2018-09-04 20:59:57.000000000 +0000 @@ -20,7 +20,7 @@ override_dh_sphinxdoc: ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) - sphinx-build -b html doc/source debian/python-debtcollector-doc/usr/share/doc/python-debtcollector-doc/html + PYTHONPATH=. python3 -m sphinx -b html doc/source debian/python-debtcollector-doc/usr/share/doc/python-debtcollector-doc/html dh_sphinxdoc -O--buildsystem=python_distutils endif diff -Nru python-debtcollector-1.13.0/debian/tests/control python-debtcollector-1.20.0/debian/tests/control --- python-debtcollector-1.13.0/debian/tests/control 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/tests/control 2018-09-04 20:59:57.000000000 +0000 @@ -1,5 +1,5 @@ Depends: python-debtcollector -Test-Command: cd "$ADTTMP" ; python -c "import debtcollector; print debtcollector.__version__" +Test-Command: cd "$AUTOPKGTEST_TMP" ; python -c "import debtcollector; print debtcollector.__version__" Depends: python3-debtcollector -Test-Command: cd "$ADTTMP" ; python3 -c "import debtcollector; print(debtcollector.__version__)" +Test-Command: cd "$AUTOPKGTEST_TMP" ; python3 -c "import debtcollector; print(debtcollector.__version__)" diff -Nru python-debtcollector-1.13.0/debian/watch python-debtcollector-1.20.0/debian/watch --- python-debtcollector-1.13.0/debian/watch 2017-04-21 09:00:25.000000000 +0000 +++ python-debtcollector-1.20.0/debian/watch 2018-09-04 20:59:57.000000000 +0000 @@ -1,3 +1,3 @@ version=3 opts="uversionmangle=s/\.(b|rc)/~$1/" \ - http://tarballs.openstack.org/debtcollector/ debtcollector-(\d.*)\.tar\.gz +https://github.com/openstack/debtcollector/tags .*/(\d[\d\.]+)\.tar\.gz diff -Nru python-debtcollector-1.13.0/debtcollector/tests/base.py python-debtcollector-1.20.0/debtcollector/tests/base.py --- python-debtcollector-1.13.0/debtcollector/tests/base.py 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector/tests/base.py 2018-07-09 09:15:47.000000000 +0000 @@ -15,9 +15,9 @@ # License for the specific language governing permissions and limitations # under the License. -from oslotest import base +import unittest -class TestCase(base.BaseTestCase): +class TestCase(unittest.TestCase): """Test case base class for all unit tests.""" diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/dependency_links.txt python-debtcollector-1.20.0/debtcollector.egg-info/dependency_links.txt --- python-debtcollector-1.13.0/debtcollector.egg-info/dependency_links.txt 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/dependency_links.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ - diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/not-zip-safe python-debtcollector-1.20.0/debtcollector.egg-info/not-zip-safe --- python-debtcollector-1.13.0/debtcollector.egg-info/not-zip-safe 2017-04-03 10:45:15.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/not-zip-safe 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ - diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/pbr.json python-debtcollector-1.20.0/debtcollector.egg-info/pbr.json --- python-debtcollector-1.13.0/debtcollector.egg-info/pbr.json 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/pbr.json 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -{"git_version": "154472d", "is_release": true} \ No newline at end of file diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/PKG-INFO python-debtcollector-1.20.0/debtcollector.egg-info/PKG-INFO --- python-debtcollector-1.13.0/debtcollector.egg-info/PKG-INFO 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/PKG-INFO 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ -Metadata-Version: 1.1 -Name: debtcollector -Version: 1.13.0 -Summary: A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner. -Home-page: http://docs.openstack.org/developer/debtcollector -Author: OpenStack -Author-email: openstack-dev@lists.openstack.org -License: UNKNOWN -Description: ======================== - Team and repository tags - ======================== - - .. image:: http://governance.openstack.org/badges/debtcollector.svg - :target: http://governance.openstack.org/reference/tags/index.html - - .. Change things from this point on - - Debtcollector - ============= - - .. image:: https://img.shields.io/pypi/v/debtcollector.svg - :target: https://pypi.python.org/pypi/debtcollector/ - :alt: Latest Version - - .. image:: https://img.shields.io/pypi/dm/debtcollector.svg - :target: https://pypi.python.org/pypi/debtcollector/ - :alt: Downloads - - A collection of Python deprecation patterns and strategies that help you - collect your technical debt in a non-destructive manner. The goal of this - library is to provide well documented developer facing deprecation - patterns that start of with a basic set and can expand into a larger - set of patterns as time goes on. The desired output of these patterns - is to apply the warnings module to emit DeprecationWarning or PendingDeprecationWarning - or similar derivative to developers using libraries (or potentially - applications) about future deprecations. - - - * Free software: Apache license - * Documentation: http://docs.openstack.org/developer/debtcollector - * Source: http://git.openstack.org/cgit/openstack/debtcollector - * Bugs: http://bugs.launchpad.net/debtcollector - - -Platform: UNKNOWN -Classifier: Environment :: OpenStack -Classifier: Intended Audience :: Information Technology -Classifier: Intended Audience :: System Administrators -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Operating System :: POSIX :: Linux -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/requires.txt python-debtcollector-1.20.0/debtcollector.egg-info/requires.txt --- python-debtcollector-1.13.0/debtcollector.egg-info/requires.txt 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/requires.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -pbr>=2.0.0 -six>=1.9.0 -wrapt>=1.7.0 -funcsigs>=0.4 diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/SOURCES.txt python-debtcollector-1.20.0/debtcollector.egg-info/SOURCES.txt --- python-debtcollector-1.13.0/debtcollector.egg-info/SOURCES.txt 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/SOURCES.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -.coveragerc -.mailmap -.testr.conf -AUTHORS -CONTRIBUTING.rst -ChangeLog -HACKING.rst -LICENSE -README.rst -babel.cfg -requirements.txt -setup.cfg -setup.py -test-requirements.txt -tox.ini -debtcollector/__init__.py -debtcollector/_utils.py -debtcollector/moves.py -debtcollector/removals.py -debtcollector/renames.py -debtcollector/updating.py -debtcollector.egg-info/PKG-INFO -debtcollector.egg-info/SOURCES.txt -debtcollector.egg-info/dependency_links.txt -debtcollector.egg-info/not-zip-safe -debtcollector.egg-info/pbr.json -debtcollector.egg-info/requires.txt -debtcollector.egg-info/top_level.txt -debtcollector/fixtures/__init__.py -debtcollector/fixtures/disable.py -debtcollector/tests/__init__.py -debtcollector/tests/base.py -debtcollector/tests/test_deprecation.py -doc/source/api.rst -doc/source/conf.py -doc/source/contributing.rst -doc/source/examples.rst -doc/source/history.rst -doc/source/index.rst -doc/source/installation.rst -releasenotes/notes/add-reno-996dd44974d53238.yaml -releasenotes/source/conf.py -releasenotes/source/index.rst -releasenotes/source/ocata.rst -releasenotes/source/unreleased.rst -releasenotes/source/_static/.placeholder -releasenotes/source/_templates/.placeholder -tools/tox_install.sh \ No newline at end of file diff -Nru python-debtcollector-1.13.0/debtcollector.egg-info/top_level.txt python-debtcollector-1.20.0/debtcollector.egg-info/top_level.txt --- python-debtcollector-1.13.0/debtcollector.egg-info/top_level.txt 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/debtcollector.egg-info/top_level.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debtcollector diff -Nru python-debtcollector-1.13.0/doc/source/api.rst python-debtcollector-1.20.0/doc/source/api.rst --- python-debtcollector-1.13.0/doc/source/api.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/api.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -=== -API -=== - - -The currently documented publicly exposed API's for usage in your project -are defined below. - -.. warning:: - - External usage of internal utility functions and modules should be kept - to a **minimum** as they may be altered, refactored or moved to other - locations **without** notice (and without the typical deprecation cycle). - -Helpers -------- - -.. automodule:: debtcollector - -Moves ------ - -.. automodule:: debtcollector.moves - -Renames -------- - -.. automodule:: debtcollector.renames - -Removals --------- - -.. automodule:: debtcollector.removals - -Fixtures --------- - -.. automodule:: debtcollector.fixtures.disable diff -Nru python-debtcollector-1.13.0/doc/source/conf.py python-debtcollector-1.20.0/doc/source/conf.py --- python-debtcollector-1.13.0/doc/source/conf.py 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/conf.py 2018-07-09 09:15:47.000000000 +0000 @@ -25,9 +25,14 @@ 'sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.doctest', - 'oslosphinx', + 'openstackdocstheme', ] +# openstackdocstheme options +repository_name = 'openstack/debtcollector' +bug_project = 'debtcollector' +bug_tag = 'doc' + # autodoc generation is a bit aggressive and a nuisance when doing heavy # text edit cycles. # execute "export SPHINX_DEBUG=1" in your terminal to disable @@ -58,8 +63,11 @@ # Sphinx are currently 'default' and 'sphinxdoc'. # html_theme_path = ["."] # html_theme = '_theme' +html_theme = 'openstackdocs' # html_static_path = ['static'] +html_last_updated_fmt = '%Y-%m-%d %H:%M' + # Output file base name for HTML help builder. htmlhelp_basename = '%sdoc' % project diff -Nru python-debtcollector-1.13.0/doc/source/contributing.rst python-debtcollector-1.20.0/doc/source/contributing.rst --- python-debtcollector-1.13.0/doc/source/contributing.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/contributing.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -============ -Contributing -============ - -.. include:: ../../CONTRIBUTING.rst diff -Nru python-debtcollector-1.13.0/doc/source/contributor/index.rst python-debtcollector-1.20.0/doc/source/contributor/index.rst --- python-debtcollector-1.13.0/doc/source/contributor/index.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/contributor/index.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,5 @@ +============ +Contributing +============ + +.. include:: ../../../CONTRIBUTING.rst diff -Nru python-debtcollector-1.13.0/doc/source/examples.rst python-debtcollector-1.20.0/doc/source/examples.rst --- python-debtcollector-1.13.0/doc/source/examples.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/examples.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,447 +0,0 @@ -======== -Examples -======== - -Removing a class/classmethod/method/function --------------------------------------------- - -To signal to a user that a method (staticmethod, classmethod, or regular -instance method) or a class or function is going to be removed at some point -in the future the :py:func:`~debtcollector.removals.remove` function/decorator -can be used to achieve this in a non-destructive manner. - -A basic example to do just this (on a method/function): - -.. doctest:: - - >>> from debtcollector import removals - >>> import warnings - >>> warnings.simplefilter('always') - >>> class Car(object): - ... @removals.remove - ... def start(self): - ... pass - ... - >>> c = Car() - >>> c.start() - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using function/method 'Car.start()' is deprecated - -A basic example to do just this (on a class): - -.. doctest:: - - >>> from debtcollector import removals - >>> import warnings - >>> warnings.simplefilter('always') - >>> @removals.removed_class("Pinto") - ... class Pinto(object): - ... pass - ... - >>> p = Pinto() - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using class 'Pinto' (either directly or via inheritance) is deprecated - -A basic example to do just this (on a classmethod): - -.. doctest:: - - >>> from debtcollector import removals - >>> import warnings - >>> warnings.simplefilter("once") - >>> class OldAndBusted(object): - ... @removals.remove - ... @classmethod - ... def fix_things(cls): - ... pass - ... - >>> OldAndBusted.fix_things() - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using function/method 'OldAndBusted.fix_things()' is deprecated - -Removing a instance property ----------------------------- - -Use the :py:func:`~debtcollector.removals.removed_property` decorator -to signal that an attribute of a class is deprecated. - -A basic example to do just this: - -.. doctest:: - - >>> import warnings - >>> warnings.simplefilter("once") - >>> from debtcollector import removals - >>> class OldAndBusted(object): - ... @removals.removed_property - ... def thing(self): - ... return 'old-and-busted' - ... @thing.setter - ... def thing(self, value): - ... pass - ... @thing.deleter - ... def thing(self): - ... pass - ... - >>> o = OldAndBusted() - >>> o.thing - 'old-and-busted' - >>> o.thing = '2' - >>> del o.thing - -.. testoutput:: - - __main__:1: DeprecationWarning: Reading the 'thing' property is deprecated - __main__:1: DeprecationWarning: Setting the 'thing' property is deprecated - __main__:1: DeprecationWarning: Deleting the 'thing' property is deprecated - -Removing a keyword argument ---------------------------- - -A basic example to do just this (on a classmethod): - -.. doctest:: - - >>> import warnings - >>> warnings.simplefilter("once") - >>> from debtcollector import removals - >>> class OldAndBusted(object): - ... @removals.removed_kwarg('resp', message="Please use 'response' instead") - ... @classmethod - ... def factory(cls, resp=None, response=None): - ... response = resp or response - ... return response - ... - >>> OldAndBusted.factory(resp='super-duper') - 'super-duper' - -.. testoutput:: - - __main__:1: DeprecationWarning: Using the 'resp' argument is deprecated: Please use 'response' instead - -A basic example to do just this (on a ``__init__`` method): - -.. doctest:: - - >>> import warnings - >>> warnings.simplefilter("once") - >>> from debtcollector import removals - >>> class OldAndBusted(object): - ... @removals.removed_kwarg('bleep') - ... def __init__(self, bleep=None): - ... self.bloop = bleep - ... - >>> o = OldAndBusted(bleep=2) - -.. testoutput:: - - __main__:1: DeprecationWarning: Using the 'bleep' argument is deprecated - -Changing the default value of a keyword argument ------------------------------------------------- - -A basic example to do just this: - -.. doctest:: - - >>> import warnings - >>> warnings.simplefilter("once") - >>> from debtcollector import updating - >>> class OldAndBusted(object): - ... ip = '127.0.0.1' - ... @updating.updated_kwarg_default_value('type', 'http', 'https') - ... def url(self, type='http'): - ... response = '%s://%s' % (type, self.ip) - ... return response - ... - >>> OldAndBusted().url() - 'http://127.0.0.1' - -.. testoutput:: - - __main__:1: FutureWarning: The http argument is changing its default value to https, please update the code to explicitly set http as the value - - -A basic classmethod example. - -.. note:: the @classmethod decorator is before the debtcollector one - -.. doctest:: - - >>> import warnings - >>> warnings.simplefilter("once") - >>> from debtcollector import updating - >>> class OldAndBusted(object): - ... ip = '127.0.0.1' - ... @classmethod - ... @updating.updated_kwarg_default_value('type', 'http', 'https') - ... def url(cls, type='http'): - ... response = '%s://%s' % (type, cls.ip) - ... return response - ... - >>> OldAndBusted.url() - 'http://127.0.0.1' - -.. testoutput:: - - __main__:1: FutureWarning: The http argument is changing its default value to https, please update the code to explicitly set http as the value - -Moving a function ------------------ - -To change the name or location of a regular function use the -:py:func:`~debtcollector.moves.moved_function` function: - -.. doctest:: - - >>> from debtcollector import moves - >>> import warnings - >>> warnings.simplefilter('always') - >>> def new_thing(): - ... return "new thing" - ... - >>> old_thing = moves.moved_function(new_thing, 'old_thing', __name__) - >>> new_thing() - 'new thing' - >>> old_thing() - 'new thing' - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Function '__main__.old_thing()' has moved to '__main__.new_thing()' - -Moving a method ---------------- - -To move a *instance* method from an existing one to a new one -the :py:func:`~debtcollector.moves.moved_method` function/decorator can be -used to achieve this in a non-destructive manner. - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import moves - >>> import warnings - >>> warnings.simplefilter('always') - >>> class Cat(object): - ... @moves.moved_method('meow') - ... def mewow(self): - ... return self.meow() - ... def meow(self): - ... return 'kitty' - ... - >>> c = Cat() - >>> c.mewow() - 'kitty' - >>> c.meow() - 'kitty' - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Method 'Cat.mewow()' has moved to 'Cat.meow()' - -Moving a property ------------------ - -To move a *instance* property from an existing one to a new one -the :py:func:`~debtcollector.moves.moved_property` function/decorator can be -used to achieve this in a non-destructive manner. - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import moves - >>> import warnings - >>> warnings.simplefilter('always') - >>> class Dog(object): - ... @property - ... @moves.moved_property('bark') - ... def burk(self): - ... return self.bark - ... @property - ... def bark(self): - ... return 'woof' - ... - >>> d = Dog() - >>> d.burk - 'woof' - >>> d.bark - 'woof' - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Property 'Dog.burk' has moved to 'Dog.bark' - -Moving a class --------------- - -To move a *class* from an existing one to a new one -the :py:func:`~debtcollector.moves.moved_class` type generator function can -be used to achieve this in a non-destructive manner. - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import moves - >>> import warnings - >>> warnings.simplefilter('always') - >>> class WizBang(object): - ... pass - ... - >>> OldWizBang = moves.moved_class(WizBang, 'OldWizBang', __name__) - >>> a = OldWizBang() - >>> b = WizBang() - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Class '__main__.OldWizBang' has moved to '__main__.WizBang' - -Renaming a keyword argument ---------------------------- - -To notify the user when a keyword argument has been replaced with a new and -improved keyword argument and the user is still using the old keyword argument -the :py:func:`~debtcollector.renames.renamed_kwarg` function/decorator -can be used to achieve this in a non-destructive manner. - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import renames - >>> import warnings - >>> warnings.simplefilter('always') - >>> @renames.renamed_kwarg('snizzle', 'nizzle') - ... def do_the_deed(snizzle=True, nizzle=True): - ... return (snizzle, nizzle) - ... - >>> do_the_deed() - (True, True) - >>> do_the_deed(snizzle=False) - (False, True) - >>> do_the_deed(nizzle=False) - (True, False) - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated, please use the 'nizzle' argument instead - -Further customizing the emitted messages ----------------------------------------- - -It is typically useful to tell the user when a deprecation has started and -when the deprecated item will be officially removed (deleted or other). To -enable this all the currently provided functions this library provides -take a ``message``, ``version`` and ``removal_version`` keyword arguments. -These are used in forming the message that is shown to the user when they -trigger the deprecated activity. - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import renames - >>> import warnings - >>> warnings.simplefilter('always') - >>> @renames.renamed_kwarg('snizzle', 'nizzle', version="0.5", removal_version="0.7") - ... def do_the_deed(snizzle=True, nizzle=True): - ... pass - ... - >>> do_the_deed(snizzle=False) - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated in version '0.5' and will be removed in version '0.7', please use the 'nizzle' argument instead - -If the ``removal_version`` is unknown the special character ``?`` can be used -instead (to denote that the deprecated activity will be removed sometime in -the future). - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import renames - >>> import warnings - >>> warnings.simplefilter('always') - >>> @renames.renamed_kwarg('snizzle', 'nizzle', version="0.5", removal_version="?") - ... def do_the_deed(snizzle=True, nizzle=True): - ... pass - ... - >>> do_the_deed(snizzle=False) - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated in version '0.5' and will be removed in a future version, please use the 'nizzle' argument instead - -To further customize the message (with a special postfix) the ``message`` -keyword argument can be provided. - -A basic example to do just this: - -.. doctest:: - - >>> from debtcollector import renames - >>> import warnings - >>> warnings.simplefilter('always') - >>> @renames.renamed_kwarg('snizzle', 'nizzle', message="Pretty please stop using it") - ... def do_the_deed(snizzle=True, nizzle=True): - ... pass - ... - >>> do_the_deed(snizzle=False) - -**Expected output:** - -.. testoutput:: - - __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated, please use the 'nizzle' argument instead: Pretty please stop using it - -Deprecating anything else -------------------------- - -For use-cases which do not fit the above decorators, properties other -provided functionality the final option is to use debtcollectors -the :py:func:`~debtcollector.deprecate` function to make your own -messages (using the message building logic that debtcollector uses itself). - -A basic example to do just this: - -.. doctest:: - - >>> import warnings - >>> warnings.simplefilter("always") - >>> import debtcollector - >>> debtcollector.deprecate("This is no longer supported", version="1.0") - -.. testoutput:: - - __main__:1: DeprecationWarning: This is no longer supported in version '1.0' diff -Nru python-debtcollector-1.13.0/doc/source/history.rst python-debtcollector-1.20.0/doc/source/history.rst --- python-debtcollector-1.13.0/doc/source/history.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/history.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -.. include:: ../../ChangeLog diff -Nru python-debtcollector-1.13.0/doc/source/index.rst python-debtcollector-1.20.0/doc/source/index.rst --- python-debtcollector-1.13.0/doc/source/index.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/index.rst 2018-07-09 09:15:47.000000000 +0000 @@ -1,3 +1,4 @@ +========================================= Welcome to debtcollector's documentation! ========================================= @@ -11,27 +12,15 @@ integration is it aims to be generally usable and useful in any project. -Contents -======== - .. toctree:: :maxdepth: 2 - installation - api - examples - contributing - -Release Notes -============= - -.. toctree:: - :maxdepth: 1 - - history + install/index + user/index + reference/index + contributor/index -Indices and tables -================== +.. rubric:: Indices and tables * :ref:`genindex` * :ref:`modindex` diff -Nru python-debtcollector-1.13.0/doc/source/install/index.rst python-debtcollector-1.20.0/doc/source/install/index.rst --- python-debtcollector-1.13.0/doc/source/install/index.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/install/index.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,12 @@ +============ +Installation +============ + +At the command line:: + + $ pip install debtcollector + +Or, if you have virtualenvwrapper installed:: + + $ mkvirtualenv debtcollector + $ pip install debtcollector diff -Nru python-debtcollector-1.13.0/doc/source/installation.rst python-debtcollector-1.20.0/doc/source/installation.rst --- python-debtcollector-1.13.0/doc/source/installation.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/installation.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -============ -Installation -============ - -At the command line:: - - $ pip install debtcollector - -Or, if you have virtualenvwrapper installed:: - - $ mkvirtualenv debtcollector - $ pip install debtcollector diff -Nru python-debtcollector-1.13.0/doc/source/reference/index.rst python-debtcollector-1.20.0/doc/source/reference/index.rst --- python-debtcollector-1.13.0/doc/source/reference/index.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/reference/index.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,38 @@ +============= +API Reference +============= + + +The currently documented publicly exposed API's for usage in your project +are defined below. + +.. warning:: + + External usage of internal utility functions and modules should be kept + to a **minimum** as they may be altered, refactored or moved to other + locations **without** notice (and without the typical deprecation cycle). + +Helpers +------- + +.. automodule:: debtcollector + +Moves +----- + +.. automodule:: debtcollector.moves + +Renames +------- + +.. automodule:: debtcollector.renames + +Removals +-------- + +.. automodule:: debtcollector.removals + +Fixtures +-------- + +.. automodule:: debtcollector.fixtures.disable diff -Nru python-debtcollector-1.13.0/doc/source/user/history.rst python-debtcollector-1.20.0/doc/source/user/history.rst --- python-debtcollector-1.13.0/doc/source/user/history.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/user/history.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1 @@ +.. include:: ../../../ChangeLog diff -Nru python-debtcollector-1.13.0/doc/source/user/index.rst python-debtcollector-1.20.0/doc/source/user/index.rst --- python-debtcollector-1.13.0/doc/source/user/index.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/user/index.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,14 @@ +=================== +Using debtcollector +=================== + +.. toctree:: + :maxdepth: 2 + + usage + +.. history contains a lot of sections, toctree with maxdepth 1 is used. +.. toctree:: + :maxdepth: 1 + + history diff -Nru python-debtcollector-1.13.0/doc/source/user/usage.rst python-debtcollector-1.20.0/doc/source/user/usage.rst --- python-debtcollector-1.13.0/doc/source/user/usage.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/doc/source/user/usage.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,447 @@ +======== +Examples +======== + +Removing a class/classmethod/method/function +-------------------------------------------- + +To signal to a user that a method (staticmethod, classmethod, or regular +instance method) or a class or function is going to be removed at some point +in the future the :py:func:`~debtcollector.removals.remove` function/decorator +can be used to achieve this in a non-destructive manner. + +A basic example to do just this (on a method/function): + +.. doctest:: + + >>> from debtcollector import removals + >>> import warnings + >>> warnings.simplefilter('always') + >>> class Car(object): + ... @removals.remove + ... def start(self): + ... pass + ... + >>> c = Car() + >>> c.start() + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using function/method 'Car.start()' is deprecated + +A basic example to do just this (on a class): + +.. doctest:: + + >>> from debtcollector import removals + >>> import warnings + >>> warnings.simplefilter('always') + >>> @removals.removed_class("Pinto") + ... class Pinto(object): + ... pass + ... + >>> p = Pinto() + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using class 'Pinto' (either directly or via inheritance) is deprecated + +A basic example to do just this (on a classmethod): + +.. doctest:: + + >>> from debtcollector import removals + >>> import warnings + >>> warnings.simplefilter("once") + >>> class OldAndBusted(object): + ... @removals.remove + ... @classmethod + ... def fix_things(cls): + ... pass + ... + >>> OldAndBusted.fix_things() + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using function/method 'OldAndBusted.fix_things()' is deprecated + +Removing a instance property +---------------------------- + +Use the :py:func:`~debtcollector.removals.removed_property` decorator +to signal that an attribute of a class is deprecated. + +A basic example to do just this: + +.. doctest:: + + >>> import warnings + >>> warnings.simplefilter("once") + >>> from debtcollector import removals + >>> class OldAndBusted(object): + ... @removals.removed_property + ... def thing(self): + ... return 'old-and-busted' + ... @thing.setter + ... def thing(self, value): + ... pass + ... @thing.deleter + ... def thing(self): + ... pass + ... + >>> o = OldAndBusted() + >>> o.thing + 'old-and-busted' + >>> o.thing = '2' + >>> del o.thing + +.. testoutput:: + + __main__:1: DeprecationWarning: Reading the 'thing' property is deprecated + __main__:1: DeprecationWarning: Setting the 'thing' property is deprecated + __main__:1: DeprecationWarning: Deleting the 'thing' property is deprecated + +Removing a keyword argument +--------------------------- + +A basic example to do just this (on a classmethod): + +.. doctest:: + + >>> import warnings + >>> warnings.simplefilter("once") + >>> from debtcollector import removals + >>> class OldAndBusted(object): + ... @removals.removed_kwarg('resp', message="Please use 'response' instead") + ... @classmethod + ... def factory(cls, resp=None, response=None): + ... response = resp or response + ... return response + ... + >>> OldAndBusted.factory(resp='super-duper') + 'super-duper' + +.. testoutput:: + + __main__:1: DeprecationWarning: Using the 'resp' argument is deprecated: Please use 'response' instead + +A basic example to do just this (on a ``__init__`` method): + +.. doctest:: + + >>> import warnings + >>> warnings.simplefilter("once") + >>> from debtcollector import removals + >>> class OldAndBusted(object): + ... @removals.removed_kwarg('bleep') + ... def __init__(self, bleep=None): + ... self.bloop = bleep + ... + >>> o = OldAndBusted(bleep=2) + +.. testoutput:: + + __main__:1: DeprecationWarning: Using the 'bleep' argument is deprecated + +Changing the default value of a keyword argument +------------------------------------------------ + +A basic example to do just this: + +.. doctest:: + + >>> import warnings + >>> warnings.simplefilter("once") + >>> from debtcollector import updating + >>> class OldAndBusted(object): + ... ip = '127.0.0.1' + ... @updating.updated_kwarg_default_value('type', 'http', 'https') + ... def url(self, type='http'): + ... response = '%s://%s' % (type, self.ip) + ... return response + ... + >>> OldAndBusted().url() + 'http://127.0.0.1' + +.. testoutput:: + + __main__:1: FutureWarning: The http argument is changing its default value to https, please update the code to explicitly set http as the value + + +A basic classmethod example. + +.. note:: the @classmethod decorator is before the debtcollector one + +.. doctest:: + + >>> import warnings + >>> warnings.simplefilter("once") + >>> from debtcollector import updating + >>> class OldAndBusted(object): + ... ip = '127.0.0.1' + ... @classmethod + ... @updating.updated_kwarg_default_value('type', 'http', 'https') + ... def url(cls, type='http'): + ... response = '%s://%s' % (type, cls.ip) + ... return response + ... + >>> OldAndBusted.url() + 'http://127.0.0.1' + +.. testoutput:: + + __main__:1: FutureWarning: The http argument is changing its default value to https, please update the code to explicitly set http as the value + +Moving a function +----------------- + +To change the name or location of a regular function use the +:py:func:`~debtcollector.moves.moved_function` function: + +.. doctest:: + + >>> from debtcollector import moves + >>> import warnings + >>> warnings.simplefilter('always') + >>> def new_thing(): + ... return "new thing" + ... + >>> old_thing = moves.moved_function(new_thing, 'old_thing', __name__) + >>> new_thing() + 'new thing' + >>> old_thing() + 'new thing' + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Function '__main__.old_thing()' has moved to '__main__.new_thing()' + +Moving a method +--------------- + +To move a *instance* method from an existing one to a new one +the :py:func:`~debtcollector.moves.moved_method` function/decorator can be +used to achieve this in a non-destructive manner. + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import moves + >>> import warnings + >>> warnings.simplefilter('always') + >>> class Cat(object): + ... @moves.moved_method('meow') + ... def mewow(self): + ... return self.meow() + ... def meow(self): + ... return 'kitty' + ... + >>> c = Cat() + >>> c.mewow() + 'kitty' + >>> c.meow() + 'kitty' + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Method 'Cat.mewow()' has moved to 'Cat.meow()' + +Moving a property +----------------- + +To move a *instance* property from an existing one to a new one +the :py:func:`~debtcollector.moves.moved_property` function/decorator can be +used to achieve this in a non-destructive manner. + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import moves + >>> import warnings + >>> warnings.simplefilter('always') + >>> class Dog(object): + ... @property + ... @moves.moved_property('bark') + ... def burk(self): + ... return self.bark + ... @property + ... def bark(self): + ... return 'woof' + ... + >>> d = Dog() + >>> d.burk + 'woof' + >>> d.bark + 'woof' + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Property 'Dog.burk' has moved to 'Dog.bark' + +Moving a class +-------------- + +To move a *class* from an existing one to a new one +the :py:func:`~debtcollector.moves.moved_class` type generator function can +be used to achieve this in a non-destructive manner. + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import moves + >>> import warnings + >>> warnings.simplefilter('always') + >>> class WizBang(object): + ... pass + ... + >>> OldWizBang = moves.moved_class(WizBang, 'OldWizBang', __name__) + >>> a = OldWizBang() + >>> b = WizBang() + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Class '__main__.OldWizBang' has moved to '__main__.WizBang' + +Renaming a keyword argument +--------------------------- + +To notify the user when a keyword argument has been replaced with a new and +improved keyword argument and the user is still using the old keyword argument +the :py:func:`~debtcollector.renames.renamed_kwarg` function/decorator +can be used to achieve this in a non-destructive manner. + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import renames + >>> import warnings + >>> warnings.simplefilter('always') + >>> @renames.renamed_kwarg('snizzle', 'nizzle') + ... def do_the_deed(snizzle=True, nizzle=True): + ... return (snizzle, nizzle) + ... + >>> do_the_deed() + (True, True) + >>> do_the_deed(snizzle=False) + (False, True) + >>> do_the_deed(nizzle=False) + (True, False) + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated, please use the 'nizzle' argument instead + +Further customizing the emitted messages +---------------------------------------- + +It is typically useful to tell the user when a deprecation has started and +when the deprecated item will be officially removed (deleted or other). To +enable this all the currently provided functions this library provides +take a ``message``, ``version`` and ``removal_version`` keyword arguments. +These are used in forming the message that is shown to the user when they +trigger the deprecated activity. + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import renames + >>> import warnings + >>> warnings.simplefilter('always') + >>> @renames.renamed_kwarg('snizzle', 'nizzle', version="0.5", removal_version="0.7") + ... def do_the_deed(snizzle=True, nizzle=True): + ... pass + ... + >>> do_the_deed(snizzle=False) + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated in version '0.5' and will be removed in version '0.7', please use the 'nizzle' argument instead + +If the ``removal_version`` is unknown the special character ``?`` can be used +instead (to denote that the deprecated activity will be removed sometime in +the future). + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import renames + >>> import warnings + >>> warnings.simplefilter('always') + >>> @renames.renamed_kwarg('snizzle', 'nizzle', version="0.5", removal_version="?") + ... def do_the_deed(snizzle=True, nizzle=True): + ... pass + ... + >>> do_the_deed(snizzle=False) + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated in version '0.5' and will be removed in a future version, please use the 'nizzle' argument instead + +To further customize the message (with a special postfix) the ``message`` +keyword argument can be provided. + +A basic example to do just this: + +.. doctest:: + + >>> from debtcollector import renames + >>> import warnings + >>> warnings.simplefilter('always') + >>> @renames.renamed_kwarg('snizzle', 'nizzle', message="Pretty please stop using it") + ... def do_the_deed(snizzle=True, nizzle=True): + ... pass + ... + >>> do_the_deed(snizzle=False) + +**Expected output:** + +.. testoutput:: + + __main__:1: DeprecationWarning: Using the 'snizzle' argument is deprecated, please use the 'nizzle' argument instead: Pretty please stop using it + +Deprecating anything else +------------------------- + +For use-cases which do not fit the above decorators, properties other +provided functionality the final option is to use debtcollectors +the :py:func:`~debtcollector.deprecate` function to make your own +messages (using the message building logic that debtcollector uses itself). + +A basic example to do just this: + +.. doctest:: + + >>> import warnings + >>> warnings.simplefilter("always") + >>> import debtcollector + >>> debtcollector.deprecate("This is no longer supported", version="1.0") + +.. testoutput:: + + __main__:1: DeprecationWarning: This is no longer supported in version '1.0' diff -Nru python-debtcollector-1.13.0/.gitignore python-debtcollector-1.20.0/.gitignore --- python-debtcollector-1.13.0/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/.gitignore 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,59 @@ +*.py[cod] + +# C extensions +*.so + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg +lib +lib64 + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox +.stestr/ +.venv + +# Translations +*.mo + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Complexity +output/*.html +output/*/index.html + +# Sphinx +doc/build + +# pbr generates these +AUTHORS +ChangeLog + +# Editors +*~ +.*.swp +.*sw? + +# IPython Files +.ipynb_checkpoints/ +*.ipynb + +# reno build +releasenotes/build diff -Nru python-debtcollector-1.13.0/.gitreview python-debtcollector-1.20.0/.gitreview --- python-debtcollector-1.13.0/.gitreview 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/.gitreview 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,4 @@ +[gerrit] +host=review.openstack.org +port=29418 +project=openstack/debtcollector.git diff -Nru python-debtcollector-1.13.0/HACKING.rst python-debtcollector-1.20.0/HACKING.rst --- python-debtcollector-1.13.0/HACKING.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/HACKING.rst 2018-07-09 09:15:47.000000000 +0000 @@ -1,4 +1,4 @@ debtcollector Style Commandments =============================================== -Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/ \ No newline at end of file +Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest \ No newline at end of file diff -Nru python-debtcollector-1.13.0/lower-constraints.txt python-debtcollector-1.20.0/lower-constraints.txt --- python-debtcollector-1.13.0/lower-constraints.txt 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/lower-constraints.txt 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,39 @@ +alabaster==0.7.10 +Babel==2.3.4 +chardet==3.0.4 +coverage==4.0 +doc8==0.6.0 +docutils==0.11 +dulwich==0.15.0 +extras==1.0.0 +fixtures==3.0.0 +flake8==2.2.4 +funcsigs==1.0.0 +hacking==0.10.3 +imagesize==0.7.1 +Jinja2==2.10 +linecache2==1.0.0 +MarkupSafe==1.0 +mccabe==0.2.1 +openstackdocstheme==1.18.1 +pbr==2.0.0 +pep8==1.5.7 +pyflakes==0.8.1 +Pygments==2.2.0 +python-mimeparse==1.6.0 +python-subunit==1.0.0 +pytz==2013.6 +PyYAML==3.12 +reno==2.5.0 +requests==2.14.2 +restructuredtext-lint==1.1.1 +six==1.10.0 +snowballstemmer==1.2.1 +Sphinx==1.6.5 +sphinxcontrib-websupport==1.0.1 +stevedore==1.20.0 +stestr==2.0.0 +testtools==2.2.0 +traceback2==1.4.0 +unittest2==1.1.0 +wrapt==1.7.0 diff -Nru python-debtcollector-1.13.0/PKG-INFO python-debtcollector-1.20.0/PKG-INFO --- python-debtcollector-1.13.0/PKG-INFO 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/PKG-INFO 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ -Metadata-Version: 1.1 -Name: debtcollector -Version: 1.13.0 -Summary: A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner. -Home-page: http://docs.openstack.org/developer/debtcollector -Author: OpenStack -Author-email: openstack-dev@lists.openstack.org -License: UNKNOWN -Description: ======================== - Team and repository tags - ======================== - - .. image:: http://governance.openstack.org/badges/debtcollector.svg - :target: http://governance.openstack.org/reference/tags/index.html - - .. Change things from this point on - - Debtcollector - ============= - - .. image:: https://img.shields.io/pypi/v/debtcollector.svg - :target: https://pypi.python.org/pypi/debtcollector/ - :alt: Latest Version - - .. image:: https://img.shields.io/pypi/dm/debtcollector.svg - :target: https://pypi.python.org/pypi/debtcollector/ - :alt: Downloads - - A collection of Python deprecation patterns and strategies that help you - collect your technical debt in a non-destructive manner. The goal of this - library is to provide well documented developer facing deprecation - patterns that start of with a basic set and can expand into a larger - set of patterns as time goes on. The desired output of these patterns - is to apply the warnings module to emit DeprecationWarning or PendingDeprecationWarning - or similar derivative to developers using libraries (or potentially - applications) about future deprecations. - - - * Free software: Apache license - * Documentation: http://docs.openstack.org/developer/debtcollector - * Source: http://git.openstack.org/cgit/openstack/debtcollector - * Bugs: http://bugs.launchpad.net/debtcollector - - -Platform: UNKNOWN -Classifier: Environment :: OpenStack -Classifier: Intended Audience :: Information Technology -Classifier: Intended Audience :: System Administrators -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Operating System :: POSIX :: Linux -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 diff -Nru python-debtcollector-1.13.0/README.rst python-debtcollector-1.20.0/README.rst --- python-debtcollector-1.13.0/README.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/README.rst 2018-07-09 09:15:47.000000000 +0000 @@ -2,8 +2,8 @@ Team and repository tags ======================== -.. image:: http://governance.openstack.org/badges/debtcollector.svg - :target: http://governance.openstack.org/reference/tags/index.html +.. image:: https://governance.openstack.org/tc/badges/debtcollector.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on @@ -11,11 +11,11 @@ ============= .. image:: https://img.shields.io/pypi/v/debtcollector.svg - :target: https://pypi.python.org/pypi/debtcollector/ + :target: https://pypi.org/project/debtcollector/ :alt: Latest Version .. image:: https://img.shields.io/pypi/dm/debtcollector.svg - :target: https://pypi.python.org/pypi/debtcollector/ + :target: https://pypi.org/project/debtcollector/ :alt: Downloads A collection of Python deprecation patterns and strategies that help you @@ -29,6 +29,6 @@ * Free software: Apache license -* Documentation: http://docs.openstack.org/developer/debtcollector -* Source: http://git.openstack.org/cgit/openstack/debtcollector -* Bugs: http://bugs.launchpad.net/debtcollector +* Documentation: https://docs.openstack.org/debtcollector/latest +* Source: https://git.openstack.org/cgit/openstack/debtcollector +* Bugs: https://bugs.launchpad.net/debtcollector diff -Nru python-debtcollector-1.13.0/releasenotes/source/conf.py python-debtcollector-1.20.0/releasenotes/source/conf.py --- python-debtcollector-1.13.0/releasenotes/source/conf.py 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/releasenotes/source/conf.py 2018-07-09 09:15:47.000000000 +0000 @@ -35,10 +35,15 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'oslosphinx', + 'openstackdocstheme', 'reno.sphinxext', ] +# openstackdocstheme options +repository_name = 'openstack/debtcollector' +bug_project = 'debtcollector' +bug_tag = 'doc' + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -55,16 +60,12 @@ project = u'debtcollector Release Notes' copyright = u'2016, debtcollector Developers' -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. +# Release notes do not need a version number in the title, they +# cover multiple releases. # The full version, including alpha/beta/rc tags. -import pkg_resources -release = pkg_resources.get_distribution('debtcollector').version +release = '' # The short X.Y version. -version = release +version = '' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -109,7 +110,7 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'default' +html_theme = 'openstackdocs' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the @@ -147,7 +148,7 @@ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' +html_last_updated_fmt = '%Y-%m-%d %H:%M' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. diff -Nru python-debtcollector-1.13.0/releasenotes/source/index.rst python-debtcollector-1.20.0/releasenotes/source/index.rst --- python-debtcollector-1.13.0/releasenotes/source/index.rst 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/releasenotes/source/index.rst 2018-07-09 09:15:47.000000000 +0000 @@ -2,8 +2,10 @@ debtcollector Release Notes ============================= - .. toctree:: - :maxdepth: 1 +.. toctree:: + :maxdepth: 1 - unreleased - ocata + unreleased + queens + pike + ocata diff -Nru python-debtcollector-1.13.0/releasenotes/source/pike.rst python-debtcollector-1.20.0/releasenotes/source/pike.rst --- python-debtcollector-1.13.0/releasenotes/source/pike.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/releasenotes/source/pike.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,6 @@ +=================================== + Pike Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/pike diff -Nru python-debtcollector-1.13.0/releasenotes/source/queens.rst python-debtcollector-1.20.0/releasenotes/source/queens.rst --- python-debtcollector-1.13.0/releasenotes/source/queens.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/releasenotes/source/queens.rst 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,6 @@ +=================================== + Queens Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/queens diff -Nru python-debtcollector-1.13.0/requirements.txt python-debtcollector-1.20.0/requirements.txt --- python-debtcollector-1.13.0/requirements.txt 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/requirements.txt 2018-07-09 09:15:47.000000000 +0000 @@ -2,7 +2,7 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -pbr>=2.0.0 # Apache-2.0 -six>=1.9.0 # MIT +pbr!=2.1.0,>=2.0.0 # Apache-2.0 +six>=1.10.0 # MIT wrapt>=1.7.0 # BSD License -funcsigs>=0.4;python_version=='2.7' or python_version=='2.6' # Apache-2.0 +funcsigs>=1.0.0;python_version=='2.7' or python_version=='2.6' # Apache-2.0 diff -Nru python-debtcollector-1.13.0/setup.cfg python-debtcollector-1.20.0/setup.cfg --- python-debtcollector-1.13.0/setup.cfg 2017-04-03 10:45:33.000000000 +0000 +++ python-debtcollector-1.20.0/setup.cfg 2018-07-09 09:15:47.000000000 +0000 @@ -1,42 +1,35 @@ [metadata] name = debtcollector summary = A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner. -description-file = - README.rst +description-file = + README.rst author = OpenStack author-email = openstack-dev@lists.openstack.org -home-page = http://docs.openstack.org/developer/debtcollector -classifier = - Environment :: OpenStack - Intended Audience :: Information Technology - Intended Audience :: System Administrators - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.5 +home-page = https://docs.openstack.org/debtcollector/latest +classifier = + Environment :: OpenStack + Intended Audience :: Information Technology + Intended Audience :: System Administrators + License :: OSI Approved :: Apache Software License + Operating System :: POSIX :: Linux + Programming Language :: Python + Programming Language :: Python :: 2 + Programming Language :: Python :: 2.7 + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.5 [files] -packages = - debtcollector +packages = + debtcollector [build_sphinx] source-dir = doc/source build-dir = doc/build all_files = 1 +warning-is-error = 1 [upload_sphinx] upload-dir = doc/build/html -[pbr] -warnerrors = True - [wheel] universal = 1 - -[egg_info] -tag_build = -tag_date = 0 - diff -Nru python-debtcollector-1.13.0/.stestr.conf python-debtcollector-1.20.0/.stestr.conf --- python-debtcollector-1.13.0/.stestr.conf 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/.stestr.conf 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,3 @@ +[DEFAULT] +test_path=./debtcollector/tests +top_dir=./ diff -Nru python-debtcollector-1.13.0/.testr.conf python-debtcollector-1.20.0/.testr.conf --- python-debtcollector-1.13.0/.testr.conf 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/.testr.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[DEFAULT] -test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ - OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ - OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ - ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION -test_id_option=--load-list $IDFILE -test_list_option=--list \ No newline at end of file diff -Nru python-debtcollector-1.13.0/test-requirements.txt python-debtcollector-1.20.0/test-requirements.txt --- python-debtcollector-1.13.0/test-requirements.txt 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/test-requirements.txt 2018-07-09 09:15:47.000000000 +0000 @@ -4,13 +4,12 @@ hacking<0.11,>=0.10.0 -coverage>=4.0 # Apache-2.0 -python-subunit>=0.0.18 # Apache-2.0/BSD -sphinx>=1.5.1 # BSD -oslosphinx>=4.7.0 # Apache-2.0 -oslotest>=1.10.0 # Apache-2.0 -testrepository>=0.0.18 # Apache-2.0/BSD -testtools>=1.4.0 # MIT +coverage!=4.4,>=4.0 # Apache-2.0 +python-subunit>=1.0.0 # Apache-2.0/BSD +sphinx!=1.6.6,!=1.6.7,>=1.6.5 # BSD +openstackdocstheme>=1.18.1 # Apache-2.0 +stestr>=2.0.0 # Apache-2.0 +testtools>=2.2.0 # MIT fixtures>=3.0.0 # Apache-2.0/BSD -doc8 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +doc8>=0.6.0 # Apache-2.0 +reno>=2.5.0 # Apache-2.0 diff -Nru python-debtcollector-1.13.0/tools/tox_install.sh python-debtcollector-1.20.0/tools/tox_install.sh --- python-debtcollector-1.13.0/tools/tox_install.sh 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/tools/tox_install.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -# Client constraint file contains this client version pin that is in conflict -# with installing the client from source. We should remove the version pin in -# the constraints file before applying it for from-source installation. - -CONSTRAINTS_FILE="$1" -shift 1 - -set -e - -# NOTE(tonyb): Place this in the tox enviroment's log dir so it will get -# published to logs.openstack.org for easy debugging. -localfile="$VIRTUAL_ENV/log/upper-constraints.txt" - -if [[ "$CONSTRAINTS_FILE" != http* ]]; then - CONSTRAINTS_FILE="file://$CONSTRAINTS_FILE" -fi -# NOTE(tonyb): need to add curl to bindep.txt if the project supports bindep -curl "$CONSTRAINTS_FILE" --insecure --progress-bar --output "$localfile" - -pip install -c"$localfile" openstack-requirements - -# This is the main purpose of the script: Allow local installation of -# the current repo. It is listed in constraints file and thus any -# install will be constrained and we need to unconstrain it. -edit-constraints "$localfile" -- "$CLIENT_NAME" - -pip install -c"$localfile" -U "$@" -exit $? diff -Nru python-debtcollector-1.13.0/tox.ini python-debtcollector-1.20.0/tox.ini --- python-debtcollector-1.13.0/tox.ini 2017-04-03 10:44:06.000000000 +0000 +++ python-debtcollector-1.20.0/tox.ini 2018-07-09 09:15:47.000000000 +0000 @@ -1,47 +1,53 @@ [tox] minversion = 2.0 -envlist = py35,py27,pypy,pep8 +envlist = py35,py27,pep8 [testenv] setenv = VIRTUAL_ENV={envdir} BRANCH_NAME=master CLIENT_NAME=debtcollector -install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} -deps = -r{toxinidir}/test-requirements.txt -commands = python setup.py testr --slowest --testr-args='{posargs}' +install_command = pip install {opts} {packages} +deps = + -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} + -r{toxinidir}/test-requirements.txt + -r{toxinidir}/requirements.txt +commands = stestr run --slowest {posargs} [testenv:debug] +basepython = python3 commands = oslo_debug_helper {posargs} [testenv:debug-py27] basepython = python2.7 commands = oslo_debug_helper {posargs} -[testenv:debug-py34] -basepython = python3.4 -commands = oslo_debug_helper {posargs} - -[testenv:debug-py35] -basepython = python3.5 -commands = oslo_debug_helper {posargs} - [testenv:pep8] +basepython = python3 commands = flake8 [testenv:venv] +basepython = python3 commands = {posargs} [testenv:cover] -commands = python setup.py testr --coverage --testr-args='{posargs}' +basepython = python3 +setenv = + PYTHON=coverage run --source $project --parallel-mode +commands = + stestr run '{posargs}' + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml [testenv:docs] +basepython = python3 commands = python setup.py build_sphinx [testenv:py27] -deps = {[testenv]deps} +basepython = python2.7 commands = - python setup.py testr --slowest --testr-args='{posargs}' + stestr run --slowest {posargs} sphinx-build -b doctest doc/source doc/build doc8 --ignore-path "doc/source/history.rst" doc/source @@ -52,4 +58,12 @@ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build [testenv:releasenotes] +basepython = python3 commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html + +[testenv:lower-constraints] +basepython = python3 +deps = + -c{toxinidir}/lower-constraints.txt + -r{toxinidir}/test-requirements.txt + -r{toxinidir}/requirements.txt diff -Nru python-debtcollector-1.13.0/.zuul.yaml python-debtcollector-1.20.0/.zuul.yaml --- python-debtcollector-1.13.0/.zuul.yaml 1970-01-01 00:00:00.000000000 +0000 +++ python-debtcollector-1.20.0/.zuul.yaml 2018-07-09 09:15:47.000000000 +0000 @@ -0,0 +1,7 @@ +- project: + check: + jobs: + - openstack-tox-lower-constraints + gate: + jobs: + - openstack-tox-lower-constraints