Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-oslo.utils for 
openSUSE:Factory checked in at 2022-08-16 17:08:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.utils (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.utils.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.utils"

Tue Aug 16 17:08:01 2022 rev:28 rq:996538 version:6.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.utils/python-oslo.utils.changes      
2022-06-19 21:11:55.842221327 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.utils.new.1521/python-oslo.utils.changes
    2022-08-16 17:08:02.495931548 +0200
@@ -1,0 +2,12 @@
+Thu Aug 11 08:25:23 UTC 2022 - [email protected]
+
+- update to version 6.0.0
+  - requirements: Remove explicit pbr dependency
+  - Remove deprecated helpers from oslo_utils.timeutils
+  - Remove unnecessary unicode prefixes
+  - Remove oslo_utils.fnmatch
+  - bindep: Use Python 3 devel packages
+  - strutils: Defer import of pyparsing
+  - Drop python3.6/3.7 support in testing runtime
+
+-------------------------------------------------------------------

Old:
----
  oslo.utils-4.13.0.tar.gz

New:
----
  oslo.utils-6.0.0.tar.gz

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

Other differences:
------------------
++++++ python-oslo.utils.spec ++++++
--- /var/tmp/diff_new_pack.F7XBVP/_old  2022-08-16 17:08:03.015933103 +0200
+++ /var/tmp/diff_new_pack.F7XBVP/_new  2022-08-16 17:08:03.023933127 +0200
@@ -17,13 +17,13 @@
 
 
 Name:           python-oslo.utils
-Version:        4.13.0
+Version:        6.0.0
 Release:        0
 Summary:        OpenStack Utils Library
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://docs.openstack.org/oslo.utils
-Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.utils/oslo.utils-4.13.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.utils/oslo.utils-6.0.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-Babel
 BuildRequires:  python3-ddt
@@ -36,7 +36,7 @@
 BuildRequires:  python3-netifaces >= 0.10.4
 BuildRequires:  python3-oslo.i18n >= 3.15.3
 BuildRequires:  python3-oslotest
-BuildRequires:  python3-pbr >= 2.0.0
+BuildRequires:  python3-pbr
 BuildRequires:  python3-pyparsing >= 2.1.0
 BuildRequires:  python3-stestr
 BuildRequires:  python3-testscenarios
@@ -72,7 +72,7 @@
 Documentation for OpenStack utils library.
 
 %prep
-%autosetup -p1 -n oslo.utils-4.13.0
+%autosetup -p1 -n oslo.utils-6.0.0
 
 %py_req_cleanup
 
@@ -83,7 +83,7 @@
 %py3_install
 
 # generate html docs
-PBR_VERSION=4.13.0 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=6.0.0 %sphinx_build -b html doc/source doc/build/html
 # remove the sphinx-build leftovers
 rm -rf doc/build/html/.{doctrees,buildinfo}
 

++++++ oslo.utils-4.13.0.tar.gz -> oslo.utils-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/ChangeLog 
new/oslo.utils-6.0.0/ChangeLog
--- old/oslo.utils-4.13.0/ChangeLog     2022-04-27 17:31:00.000000000 +0200
+++ new/oslo.utils-6.0.0/ChangeLog      2022-06-23 11:40:39.000000000 +0200
@@ -1,6 +1,21 @@
 CHANGES
 =======
 
+6.0.0
+-----
+
+
+5.0.0
+-----
+
+* bindep: Use Python 3 devel packages
+* Remove deprecated helpers from oslo\_utils.timeutils
+* Remove oslo\_utils.fnmatch
+* requirements: Remove explicit pbr dependency
+* strutils: Defer import of pyparsing
+* Drop python3.6/3.7 support in testing runtime
+* Remove unnecessary unicode prefixes
+
 4.13.0
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/PKG-INFO 
new/oslo.utils-6.0.0/PKG-INFO
--- old/oslo.utils-4.13.0/PKG-INFO      2022-04-27 17:31:01.240427700 +0200
+++ new/oslo.utils-6.0.0/PKG-INFO       2022-06-23 11:40:39.842168800 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: oslo.utils
-Version: 4.13.0
+Version: 6.0.0
 Summary: Oslo Utility library
 Home-page: https://docs.openstack.org/oslo.utils/latest/
 Author: OpenStack
@@ -45,10 +45,8 @@
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
-Requires-Python: >=3.6
+Requires-Python: >=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/bindep.txt 
new/oslo.utils-6.0.0/bindep.txt
--- old/oslo.utils-4.13.0/bindep.txt    2022-04-27 17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/bindep.txt     2022-06-23 11:40:10.000000000 +0200
@@ -2,8 +2,6 @@
 # see http://docs.openstack.org/infra/bindep/ for additional information.
 
 locales [platform:debian]
-python-dev [platform:dpkg]
-python-devel [platform:rpm]
 python3-all-dev [platform:ubuntu !platform:ubuntu-precise]
 python3-dev [platform:dpkg]
-python3-devel [platform:fedora]
+python3-devel [platform:rpm]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/doc/source/conf.py 
new/oslo.utils-6.0.0/doc/source/conf.py
--- old/oslo.utils-4.13.0/doc/source/conf.py    2022-04-27 17:30:25.000000000 
+0200
+++ new/oslo.utils-6.0.0/doc/source/conf.py     2022-06-23 11:40:10.000000000 
+0200
@@ -43,8 +43,8 @@
 master_doc = 'index'
 
 # General information about the project.
-project = u'oslo.utils'
-copyright = u'2014, OpenStack Foundation'
+project = 'oslo.utils'
+copyright = '2014, OpenStack Foundation'
 
 # If true, '()' will be appended to :func: etc. cross-reference text.
 add_function_parentheses = True
@@ -74,6 +74,6 @@
 latex_documents = [
     ('index',
      '%s.tex' % project,
-     u'%s Documentation' % project,
-     u'OpenStack Foundation', 'manual'),
+     '%s Documentation' % project,
+     'OpenStack Foundation', 'manual'),
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo.utils.egg-info/PKG-INFO 
new/oslo.utils-6.0.0/oslo.utils.egg-info/PKG-INFO
--- old/oslo.utils-4.13.0/oslo.utils.egg-info/PKG-INFO  2022-04-27 
17:31:01.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo.utils.egg-info/PKG-INFO   2022-06-23 
11:40:39.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: oslo.utils
-Version: 4.13.0
+Version: 6.0.0
 Summary: Oslo Utility library
 Home-page: https://docs.openstack.org/oslo.utils/latest/
 Author: OpenStack
@@ -45,10 +45,8 @@
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
-Requires-Python: >=3.6
+Requires-Python: >=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo.utils.egg-info/SOURCES.txt 
new/oslo.utils-6.0.0/oslo.utils.egg-info/SOURCES.txt
--- old/oslo.utils-4.13.0/oslo.utils.egg-info/SOURCES.txt       2022-04-27 
17:31:01.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo.utils.egg-info/SOURCES.txt        2022-06-23 
11:40:39.000000000 +0200
@@ -56,7 +56,6 @@
 oslo_utils/excutils.py
 oslo_utils/fileutils.py
 oslo_utils/fixture.py
-oslo_utils/fnmatch.py
 oslo_utils/imageutils.py
 oslo_utils/importutils.py
 oslo_utils/netutils.py
@@ -108,6 +107,8 @@
 releasenotes/notes/mask-password-pattern-c8c880098743de3e.yaml
 releasenotes/notes/mask-password-patterns-f41524069b8ae488.yaml
 releasenotes/notes/netutils-get_mac_addr_by_ipv6-c3ce6a35a69f7c2b.yaml
+releasenotes/notes/remove-fnmatch-f227b54f237a02c2.yaml
+releasenotes/notes/remove-timeutils-deprecated-helpers-5de68c21dd281529.yaml
 releasenotes/source/conf.py
 releasenotes/source/index.rst
 releasenotes/source/newton.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo.utils.egg-info/pbr.json 
new/oslo.utils-6.0.0/oslo.utils.egg-info/pbr.json
--- old/oslo.utils-4.13.0/oslo.utils.egg-info/pbr.json  2022-04-27 
17:31:01.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo.utils.egg-info/pbr.json   2022-06-23 
11:40:39.000000000 +0200
@@ -1 +1 @@
-{"git_version": "de4429f", "is_release": true}
\ No newline at end of file
+{"git_version": "7df6473", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo.utils.egg-info/requires.txt 
new/oslo.utils-6.0.0/oslo.utils.egg-info/requires.txt
--- old/oslo.utils-4.13.0/oslo.utils.egg-info/requires.txt      2022-04-27 
17:31:01.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo.utils.egg-info/requires.txt       2022-06-23 
11:40:39.000000000 +0200
@@ -4,6 +4,5 @@
 netifaces>=0.10.4
 oslo.i18n>=3.15.3
 packaging>=20.4
-pbr!=2.1.0,>=2.0.0
 pyparsing>=2.1.0
 pytz>=2013.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo_utils/fnmatch.py 
new/oslo.utils-6.0.0/oslo_utils/fnmatch.py
--- old/oslo.utils-4.13.0/oslo_utils/fnmatch.py 2022-04-27 17:30:25.000000000 
+0200
+++ new/oslo.utils-6.0.0/oslo_utils/fnmatch.py  1970-01-01 01:00:00.000000000 
+0100
@@ -1,30 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""Thread safe fnmatch re-implementation.
-
-.. versionadded:: 3.3
-"""
-
-import fnmatch as standard_fnmatch
-
-import debtcollector
-
-debtcollector.deprecate(
-    "Using the oslo.utils's 'fnmatch' module is deprecated, "
-    "please use the stdlib 'fnmatch' module."
-)
-
-fnmatch = standard_fnmatch.fnmatch
-fnmatchcase = standard_fnmatch.fnmatchcase
-filter = standard_fnmatch.filter
-translate = standard_fnmatch.translate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo_utils/strutils.py 
new/oslo.utils-6.0.0/oslo_utils/strutils.py
--- old/oslo.utils-4.13.0/oslo_utils/strutils.py        2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/strutils.py 2022-06-23 11:40:10.000000000 
+0200
@@ -23,8 +23,6 @@
 import unicodedata
 import urllib
 
-import pyparsing as pp
-
 from oslo_utils._i18n import _
 from oslo_utils import encodeutils
 
@@ -303,8 +301,6 @@
     '"password" : "***"'
     >>> mask_password("'original_password' : 'aaaaa'")
     "'original_password' : '***'"
-    >>> mask_password("u'original_password' :   u'aaaaa'")
-    "u'original_password' :   u'***'"
 
     .. versionadded:: 0.2
 
@@ -577,8 +573,13 @@
 
     .. versionadded:: 3.17
     """
-    word = (pp.QuotedString(quoteChar='"', escChar='\\') |
-            pp.Word(pp.printables, excludeChars='",'))
+    # pyparsing is a slow import; defer loading until we need it
+    import pyparsing as pp
+
+    word = (
+        pp.QuotedString(quoteChar='"', escChar='\\') |
+        pp.Word(pp.printables, excludeChars='",')
+    )
     grammar = pp.stringStart + pp.delimitedList(word) + pp.stringEnd
 
     try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo_utils/tests/test_netutils.py 
new/oslo.utils-6.0.0/oslo_utils/tests/test_netutils.py
--- old/oslo.utils-4.13.0/oslo_utils/tests/test_netutils.py     2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/tests/test_netutils.py      2022-06-23 
11:40:10.000000000 +0200
@@ -233,7 +233,6 @@
 
     def test_is_valid_mac(self):
         self.assertTrue(netutils.is_valid_mac("52:54:00:cf:2d:31"))
-        self.assertTrue(netutils.is_valid_mac(u"52:54:00:cf:2d:31"))
         self.assertFalse(netutils.is_valid_mac("127.0.0.1"))
         self.assertFalse(netutils.is_valid_mac("not:a:mac:address"))
         self.assertFalse(netutils.is_valid_mac("52-54-00-cf-2d-31"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.13.0/oslo_utils/tests/test_secretutils.py 
new/oslo.utils-6.0.0/oslo_utils/tests/test_secretutils.py
--- old/oslo.utils-4.13.0/oslo_utils/tests/test_secretutils.py  2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/tests/test_secretutils.py   2022-06-23 
11:40:10.000000000 +0200
@@ -39,27 +39,27 @@
         # the built-in function, otherwise that is in vain.
         ctc = secretutils._constant_time_compare
 
-        self.assertTrue(ctc(self.converter(u'abcd'),
-                            self.converter(u'abcd')))
-        self.assertTrue(ctc(self.converter(u''),
-                            self.converter(u'')))
+        self.assertTrue(ctc(self.converter('abcd'),
+                            self.converter('abcd')))
+        self.assertTrue(ctc(self.converter(''),
+                            self.converter('')))
         self.assertTrue(ctc('abcd', 'abcd'))
-        self.assertFalse(ctc(self.converter(u'abcd'),
-                             self.converter(u'efgh')))
-        self.assertFalse(ctc(self.converter(u'abc'),
-                             self.converter(u'abcd')))
-        self.assertFalse(ctc(self.converter(u'abc'),
-                             self.converter(u'abc\x00')))
-        self.assertFalse(ctc(self.converter(u''),
-                             self.converter(u'abc')))
-        self.assertTrue(ctc(self.converter(u'abcd1234'),
-                            self.converter(u'abcd1234')))
-        self.assertFalse(ctc(self.converter(u'abcd1234'),
-                             self.converter(u'ABCD234')))
-        self.assertFalse(ctc(self.converter(u'abcd1234'),
-                             self.converter(u'a')))
-        self.assertFalse(ctc(self.converter(u'abcd1234'),
-                             self.converter(u'1234abcd')))
+        self.assertFalse(ctc(self.converter('abcd'),
+                             self.converter('efgh')))
+        self.assertFalse(ctc(self.converter('abc'),
+                             self.converter('abcd')))
+        self.assertFalse(ctc(self.converter('abc'),
+                             self.converter('abc\x00')))
+        self.assertFalse(ctc(self.converter(''),
+                             self.converter('abc')))
+        self.assertTrue(ctc(self.converter('abcd1234'),
+                            self.converter('abcd1234')))
+        self.assertFalse(ctc(self.converter('abcd1234'),
+                             self.converter('ABCD234')))
+        self.assertFalse(ctc(self.converter('abcd1234'),
+                             self.converter('a')))
+        self.assertFalse(ctc(self.converter('abcd1234'),
+                             self.converter('1234abcd')))
         self.assertFalse(ctc('abcd1234', '1234abcd'))
 
     _test_data = "Openstack forever".encode('utf-8')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo_utils/tests/test_strutils.py 
new/oslo.utils-6.0.0/oslo_utils/tests/test_strutils.py
--- old/oslo.utils-4.13.0/oslo_utils/tests/test_strutils.py     2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/tests/test_strutils.py      2022-06-23 
11:40:10.000000000 +0200
@@ -77,13 +77,13 @@
 
     def test_unicode_bool_from_string(self):
         self._test_bool_from_string(str)
-        self.assertFalse(strutils.bool_from_string(u'??????', strict=False))
+        self.assertFalse(strutils.bool_from_string('??????', strict=False))
 
         exc = self.assertRaises(ValueError, strutils.bool_from_string,
-                                u'??????', strict=True)
-        expected_msg = (u"Unrecognized value '??????', acceptable values are:"
-                        u" '0', '1', 'f', 'false', 'n', 'no', 'off', 'on',"
-                        u" 't', 'true', 'y', 'yes'")
+                                '??????', strict=True)
+        expected_msg = ("Unrecognized value '??????', acceptable values are:"
+                        " '0', '1', 'f', 'false', 'n', 'no', 'off', 'on',"
+                        " 't', 'true', 'y', 'yes'")
         self.assertEqual(expected_msg, str(exc))
 
     def test_other_bool_from_string(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo_utils/tests/test_timeutils.py 
new/oslo.utils-6.0.0/oslo_utils/tests/test_timeutils.py
--- old/oslo.utils-4.13.0/oslo_utils/tests/test_timeutils.py    2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/tests/test_timeutils.py     2022-06-23 
11:40:10.000000000 +0200
@@ -13,7 +13,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import calendar
 import datetime
 import logging
 import time
@@ -48,18 +47,6 @@
                                                                 6, 14, 0)
         self.addCleanup(timeutils.clear_time_override)
 
-    def test_isotime(self):
-        with mock.patch('datetime.datetime') as datetime_mock:
-            datetime_mock.utcnow.return_value = self.skynet_self_aware_time
-            dt = timeutils.isotime()
-            self.assertEqual(dt, self.skynet_self_aware_time_str)
-
-    def test_isotimei_micro_second_precision(self):
-        with mock.patch('datetime.datetime') as datetime_mock:
-            datetime_mock.utcnow.return_value = self.skynet_self_aware_ms_time
-            dt = timeutils.isotime(subsecond=True)
-            self.assertEqual(dt, self.skynet_self_aware_time_ms_str)
-
     def test_parse_isotime(self):
         expect = timeutils.parse_isotime(self.skynet_self_aware_time_str)
         skynet_self_aware_time_utc = self.skynet_self_aware_time.replace(
@@ -72,40 +59,24 @@
             tzinfo=iso8601.iso8601.UTC)
         self.assertEqual(skynet_self_aware_time_ms_utc, expect)
 
-    def test_strtime(self):
-        expect = timeutils.strtime(self.skynet_self_aware_time_perfect)
-        self.assertEqual(self.skynet_self_aware_time_perfect_str, expect)
-
     def test_parse_strtime(self):
         perfect_time_format = self.skynet_self_aware_time_perfect_str
         expect = timeutils.parse_strtime(perfect_time_format)
         self.assertEqual(self.skynet_self_aware_time_perfect, expect)
 
-    def test_strtime_and_back(self):
-        orig_t = datetime.datetime(1997, 8, 29, 6, 14, 0)
-        s = timeutils.strtime(orig_t)
-        t = timeutils.parse_strtime(s)
-        self.assertEqual(orig_t, t)
-
     @mock.patch('datetime.datetime', wraps=datetime.datetime)
     def _test_is_older_than(self, fn, datetime_mock):
         datetime_mock.utcnow.return_value = self.skynet_self_aware_time
-        expect_true = timeutils.is_older_than(fn(self.one_minute_before),
-                                              59)
+        expect_true = timeutils.is_older_than(fn(self.one_minute_before), 59)
         self.assertTrue(expect_true)
-        expect_false = timeutils.is_older_than(fn(self.one_minute_before),
-                                               60)
+        expect_false = timeutils.is_older_than(fn(self.one_minute_before), 60)
         self.assertFalse(expect_false)
-        expect_false = timeutils.is_older_than(fn(self.one_minute_before),
-                                               61)
+        expect_false = timeutils.is_older_than(fn(self.one_minute_before), 61)
         self.assertFalse(expect_false)
 
     def test_is_older_than_datetime(self):
         self._test_is_older_than(lambda x: x)
 
-    def test_is_older_than_str(self):
-        self._test_is_older_than(timeutils.strtime)
-
     def test_is_older_than_aware(self):
         """Tests sending is_older_than an 'aware' datetime."""
         self._test_is_older_than(lambda x: x.replace(
@@ -132,9 +103,6 @@
     def test_is_newer_than_datetime(self):
         self._test_is_newer_than(lambda x: x)
 
-    def test_is_newer_than_str(self):
-        self._test_is_newer_than(timeutils.strtime)
-
     def test_is_newer_than_aware(self):
         """Tests sending is_newer_than an 'aware' datetime."""
         self._test_is_newer_than(lambda x: x.replace(
@@ -227,18 +195,6 @@
         self.assertAlmostEquals(604859.123456,
                                 timeutils.delta_seconds(before, after))
 
-    def test_iso8601_from_timestamp(self):
-        utcnow = timeutils.utcnow()
-        iso = timeutils.isotime(utcnow)
-        ts = calendar.timegm(utcnow.timetuple())
-        self.assertEqual(iso, timeutils.iso8601_from_timestamp(ts))
-
-    def test_iso8601_from_timestamp_ms(self):
-        ts = timeutils.utcnow_ts(microsecond=True)
-        utcnow = datetime.datetime.utcfromtimestamp(ts)
-        iso = timeutils.isotime(utcnow, subsecond=True)
-        self.assertEqual(iso, timeutils.iso8601_from_timestamp(ts, True))
-
     def test_is_soon(self):
         expires = timeutils.utcnow() + datetime.timedelta(minutes=5)
         self.assertFalse(timeutils.is_soon(expires, 120))
@@ -313,30 +269,6 @@
         self.assertTrue(east < zulu)
         self.assertTrue(zulu < west)
 
-    def test_zulu_roundtrip(self):
-        time_str = '2012-02-14T20:53:07Z'
-        zulu = timeutils.parse_isotime(time_str)
-        self.assertEqual(zulu.tzinfo, iso8601.iso8601.UTC)
-        self.assertEqual(timeutils.isotime(zulu), time_str)
-
-    def test_east_roundtrip(self):
-        time_str = '2012-02-14T20:53:07-07:00'
-        east = timeutils.parse_isotime(time_str)
-        self.assertEqual(east.tzinfo.tzname(None), '-07:00')
-        self.assertEqual(timeutils.isotime(east), time_str)
-
-    def test_west_roundtrip(self):
-        time_str = '2012-02-14T20:53:07+11:30'
-        west = timeutils.parse_isotime(time_str)
-        self.assertEqual(west.tzinfo.tzname(None), '+11:30')
-        self.assertEqual(timeutils.isotime(west), time_str)
-
-    def test_now_roundtrip(self):
-        time_str = timeutils.isotime()
-        now = timeutils.parse_isotime(time_str)
-        self.assertEqual(now.tzinfo, iso8601.iso8601.UTC)
-        self.assertEqual(timeutils.isotime(now), time_str)
-
     def test_zulu_normalize(self):
         time_str = '2012-02-14T20:53:07Z'
         zulu = timeutils.parse_isotime(time_str)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.13.0/oslo_utils/tests/tests_encodeutils.py 
new/oslo.utils-6.0.0/oslo_utils/tests/tests_encodeutils.py
--- old/oslo.utils-4.13.0/oslo_utils/tests/tests_encodeutils.py 2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/tests/tests_encodeutils.py  2022-06-23 
11:40:10.000000000 +0200
@@ -96,7 +96,7 @@
     def test_to_utf8(self):
         self.assertEqual(encodeutils.to_utf8(b'a\xe9\xff'),        # bytes
                          b'a\xe9\xff')
-        self.assertEqual(encodeutils.to_utf8(u'a\xe9\xff\u20ac'),  # Unicode
+        self.assertEqual(encodeutils.to_utf8('a\xe9\xff\u20ac'),  # Unicode
                          b'a\xc3\xa9\xc3\xbf\xe2\x82\xac')
         self.assertRaises(TypeError, encodeutils.to_utf8, 123)     # invalid
 
@@ -112,7 +112,7 @@
 
     def test_str_exception(self):
         # The regular Exception class cannot be used directly:
-        # Exception(u'\xe9').__str__() raises an UnicodeEncodeError
+        # Exception('\xe9').__str__() raises an UnicodeEncodeError
         # on Python 2
         class StrException(Exception):
             def __init__(self, value):
@@ -129,12 +129,12 @@
         # Decode from ASCII
         exc = StrException(b'bytes ascii')
         self.assertEqual(encodeutils.exception_to_unicode(exc),
-                         u'bytes ascii')
+                         'bytes ascii')
 
         # Decode from UTF-8
         exc = StrException(b'utf-8 \xc3\xa9\xe2\x82\xac')
         self.assertEqual(encodeutils.exception_to_unicode(exc),
-                         u'utf-8 \xe9\u20ac')
+                         'utf-8 \xe9\u20ac')
 
         # Force the locale encoding to ASCII to test the fallback
         with mock.patch.object(encodeutils, '_getfilesystemencoding',
@@ -142,17 +142,17 @@
             # Fallback: decode from ISO-8859-1
             exc = StrException(b'rawbytes \x80\xff')
             self.assertEqual(encodeutils.exception_to_unicode(exc),
-                             u'rawbytes \x80\xff')
+                             'rawbytes \x80\xff')
 
         # No conversion needed
-        exc = StrException(u'unicode ascii')
+        exc = StrException('unicode ascii')
         self.assertEqual(encodeutils.exception_to_unicode(exc),
-                         u'unicode ascii')
+                         'unicode ascii')
 
         # No conversion needed
-        exc = StrException(u'unicode \xe9\u20ac')
+        exc = StrException('unicode \xe9\u20ac')
         self.assertEqual(encodeutils.exception_to_unicode(exc),
-                         u'unicode \xe9\u20ac')
+                         'unicode \xe9\u20ac')
 
         # Test the locale encoding
         with mock.patch.object(encodeutils, '_getfilesystemencoding',
@@ -161,10 +161,10 @@
             # Decode from the locale encoding
             # (the message cannot be decoded from ASCII nor UTF-8)
             self.assertEqual(encodeutils.exception_to_unicode(exc),
-                             u'\u0420\u0443\u0441\u0441\u043a\u0438\u0439')
+                             '\u0420\u0443\u0441\u0441\u043a\u0438\u0439')
 
     def test_oslo_i18n_message(self):
         # use the lazy translation to get a Message instance of oslo_i18n
         exc = oslo_i18n_fixture.Translation().lazy("test")
         self.assertEqual(encodeutils.exception_to_unicode(exc),
-                         u"test")
+                         "test")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/oslo_utils/timeutils.py 
new/oslo.utils-6.0.0/oslo_utils/timeutils.py
--- old/oslo.utils-4.13.0/oslo_utils/timeutils.py       2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/oslo_utils/timeutils.py        2022-06-23 
11:40:10.000000000 +0200
@@ -23,7 +23,6 @@
 import logging
 import time
 
-from debtcollector import removals
 import iso8601
 import pytz
 
@@ -39,28 +38,6 @@
 now = time.monotonic
 
 
[email protected](
-    message="use datetime.datetime.isoformat()",
-    version="1.6",
-    removal_version="?",
-    )
-def isotime(at=None, subsecond=False):
-    """Stringify time in ISO 8601 format.
-
-    .. deprecated:: 1.5.0
-       Use :func:`utcnow` and :func:`datetime.datetime.isoformat` instead.
-    """
-    if not at:
-        at = utcnow()
-    st = at.strftime(_ISO8601_TIME_FORMAT
-                     if not subsecond
-                     else _ISO8601_TIME_FORMAT_SUBSECOND)
-    tz = at.tzinfo.tzname(None) if at.tzinfo else 'UTC'
-    # Need to handle either iso8601 or python UTC format
-    st += ('Z' if tz in ('UTC', 'UTC+00:00') else tz)
-    return st
-
-
 def parse_isotime(timestr):
     """Parse time from ISO 8601 format."""
     try:
@@ -71,29 +48,6 @@
         raise ValueError(str(e))
 
 
[email protected](
-    message="use either datetime.datetime.isoformat() "
-    "or datetime.datetime.strftime() instead",
-    version="1.6",
-    removal_version="?",
-    )
-def strtime(at=None, fmt=PERFECT_TIME_FORMAT):
-    """Returns formatted utcnow.
-
-    .. deprecated:: 1.5.0
-       Use :func:`utcnow()`, :func:`datetime.datetime.isoformat`
-       or :func:`datetime.strftime` instead:
-
-       * ``strtime()`` => ``utcnow().isoformat()``
-       * ``strtime(fmt=...)`` => ``utcnow().strftime(fmt)``
-       * ``strtime(at)`` => ``at.isoformat()``
-       * ``strtime(at, fmt)`` => ``at.strftime(fmt)``
-    """
-    if not at:
-        at = utcnow()
-    return at.strftime(fmt)
-
-
 def parse_strtime(timestr, fmt=PERFECT_TIME_FORMAT):
     """Turn a formatted time back into a datetime."""
     return datetime.datetime.strptime(timestr, fmt)
@@ -180,24 +134,6 @@
     return datetime.datetime.utcnow()
 
 
[email protected](
-    message="use datetime.datetime.utcfromtimestamp().isoformat()",
-    version="1.6",
-    removal_version="?",
-    )
-def iso8601_from_timestamp(timestamp, microsecond=False):
-    """Returns an iso8601 formatted date from timestamp.
-
-    .. versionchanged:: 1.3
-       Added optional *microsecond* parameter.
-
-    .. deprecated:: 1.5.0
-       Use :func:`datetime.datetime.utcfromtimestamp` and
-       :func:`datetime.datetime.isoformat` instead.
-    """
-    return isotime(datetime.datetime.utcfromtimestamp(timestamp), microsecond)
-
-
 utcnow.override_time = None
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.13.0/releasenotes/notes/remove-fnmatch-f227b54f237a02c2.yaml 
new/oslo.utils-6.0.0/releasenotes/notes/remove-fnmatch-f227b54f237a02c2.yaml
--- 
old/oslo.utils-4.13.0/releasenotes/notes/remove-fnmatch-f227b54f237a02c2.yaml   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.utils-6.0.0/releasenotes/notes/remove-fnmatch-f227b54f237a02c2.yaml    
    2022-06-23 11:40:10.000000000 +0200
@@ -0,0 +1,5 @@
+---
+upgrade:
+  - |
+    The ``oslo_utils.fnmatch`` module has been removed. The stdlib ``fnmatch``
+    module is thread safe in Python 3+.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.13.0/releasenotes/notes/remove-timeutils-deprecated-helpers-5de68c21dd281529.yaml
 
new/oslo.utils-6.0.0/releasenotes/notes/remove-timeutils-deprecated-helpers-5de68c21dd281529.yaml
--- 
old/oslo.utils-4.13.0/releasenotes/notes/remove-timeutils-deprecated-helpers-5de68c21dd281529.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.utils-6.0.0/releasenotes/notes/remove-timeutils-deprecated-helpers-5de68c21dd281529.yaml
   2022-06-23 11:40:10.000000000 +0200
@@ -0,0 +1,7 @@
+---
+upgrade:
+  - |
+    The ``isotime``, ``strtime`` and ``iso8601_from_timestamp`` helpers have
+    been removed from ``oslo_utils.timeutils``. These are all available in the
+    stdlib in Python 3.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/releasenotes/source/conf.py 
new/oslo.utils-6.0.0/releasenotes/source/conf.py
--- old/oslo.utils-4.13.0/releasenotes/source/conf.py   2022-04-27 
17:30:25.000000000 +0200
+++ new/oslo.utils-6.0.0/releasenotes/source/conf.py    2022-06-23 
11:40:10.000000000 +0200
@@ -59,7 +59,7 @@
 master_doc = 'index'
 
 # General information about the project.
-copyright = u'2016, oslo.utils Developers'
+copyright = '2016, oslo.utils Developers'
 
 # Release notes do not need a version in the title, they span
 # multiple versions.
@@ -195,8 +195,8 @@
 #  author, documentclass [howto, manual, or own class]).
 latex_documents = [
     ('index', 'oslo.utilsReleaseNotes.tex',
-     u'oslo.utils Release Notes Documentation',
-     u'oslo.utils Developers', 'manual'),
+     'oslo.utils Release Notes Documentation',
+     'oslo.utils Developers', 'manual'),
 ]
 
 # The name of an image file (relative to this directory) to place at the top of
@@ -226,8 +226,8 @@
 # (source start file, name, description, authors, manual section).
 man_pages = [
     ('index', 'oslo.utilsReleaseNotes',
-     u'oslo.utils Release Notes Documentation',
-     [u'oslo.utils Developers'], 1)
+     'oslo.utils Release Notes Documentation',
+     ['oslo.utils Developers'], 1)
 ]
 
 # If true, show URL addresses after external links.
@@ -240,8 +240,8 @@
 #  dir menu entry, description, category)
 texinfo_documents = [
     ('index', 'oslo.utilsReleaseNotes',
-     u'oslo.utils Release Notes Documentation',
-     u'oslo.utils Developers', 'oslo.utilsReleaseNotes',
+     'oslo.utils Release Notes Documentation',
+     'oslo.utils Developers', 'oslo.utilsReleaseNotes',
      'One line description of project.',
      'Miscellaneous'),
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/requirements.txt 
new/oslo.utils-6.0.0/requirements.txt
--- old/oslo.utils-4.13.0/requirements.txt      2022-04-27 17:30:25.000000000 
+0200
+++ new/oslo.utils-6.0.0/requirements.txt       2022-06-23 11:40:10.000000000 
+0200
@@ -1,13 +1,8 @@
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
-
 # NOTE(dhellmann): Because oslo.utils is used by the client libraries,
 # we do not want to add a lot of dependencies to it. If you find that
 # adding a new feature to oslo.utils means adding a new dependency,
 # that is a likely indicator that the feature belongs somewhere else.
 
-pbr!=2.1.0,>=2.0.0 # Apache-2.0
 iso8601>=0.1.11 # MIT
 oslo.i18n>=3.15.3 # Apache-2.0
 pytz>=2013.6 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.13.0/setup.cfg 
new/oslo.utils-6.0.0/setup.cfg
--- old/oslo.utils-4.13.0/setup.cfg     2022-04-27 17:31:01.240427700 +0200
+++ new/oslo.utils-6.0.0/setup.cfg      2022-06-23 11:40:39.842168800 +0200
@@ -6,7 +6,7 @@
 author = OpenStack
 author_email = [email protected]
 home_page = https://docs.openstack.org/oslo.utils/latest/
-python_requires = >=3.6
+python_requires = >=3.8
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -15,8 +15,6 @@
        Operating System :: POSIX :: Linux
        Programming Language :: Python
        Programming Language :: Python :: 3
-       Programming Language :: Python :: 3.6
-       Programming Language :: Python :: 3.7
        Programming Language :: Python :: 3.8
        Programming Language :: Python :: 3.9
        Programming Language :: Python :: 3 :: Only

Reply via email to