Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-keystoneclient for
openSUSE:Factory checked in at 2024-03-25 21:11:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keystoneclient (Old)
and /work/SRC/openSUSE:Factory/.python-keystoneclient.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keystoneclient"
Mon Mar 25 21:11:22 2024 rev:39 rq:1161188 version:5.4.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-keystoneclient/python-keystoneclient.changes
2024-01-15 22:19:19.211045053 +0100
+++
/work/SRC/openSUSE:Factory/.python-keystoneclient.new.1905/python-keystoneclient.changes
2024-03-25 21:18:04.107164758 +0100
@@ -1,0 +2,15 @@
+Sun Mar 24 20:07:51 UTC 2024 - [email protected]
+
+- update to version 5.4.0
+ - Remove six dependency
+ - Remove deprecated pbr options
+ - Declare Python 3.10 support
+ - Bump hacking
+ - Update master for stable/2023.2
+ - Stop installing python-all-dev in Ubuntu/Debian
+ - Replace abc.abstractproperty with property and abc.abstractmethod
+ - Update python classifier in setup.cfg
+ - Update master for stable/2023.1
+ - reno: Update master for unmaintained/yoga
+
+-------------------------------------------------------------------
Old:
----
python-keystoneclient-5.2.0.tar.gz
New:
----
python-keystoneclient-5.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keystoneclient.spec ++++++
--- /var/tmp/diff_new_pack.llNZio/_old 2024-03-25 21:18:05.143202862 +0100
+++ /var/tmp/diff_new_pack.llNZio/_new 2024-03-25 21:18:05.143202862 +0100
@@ -17,14 +17,14 @@
Name: python-keystoneclient
-Version: 5.2.0
+Version: 5.4.0
Release: 0
Epoch: 0
Summary: Client library for OpenStack Identity API
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/python-keystoneclient
-Source0:
https://files.pythonhosted.org/packages/source/p/python-keystoneclient/python-keystoneclient-5.2.0.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/p/python-keystoneclient/python-keystoneclient-5.4.0.tar.gz
BuildRequires: openssl
BuildRequires: openstack-macros
BuildRequires: python3-debtcollector >= 1.2.0
@@ -72,7 +72,7 @@
Identity API.
%prep
-%autosetup -p1 -n python-keystoneclient-5.2.0
+%autosetup -p1 -n python-keystoneclient-5.4.0
%py_req_cleanup
# disable intersphinx - no network access during build
echo "intersphinx_mapping = {}" >> doc/source/conf.py
++++++ python-keystoneclient-5.2.0.tar.gz -> python-keystoneclient-5.4.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/AUTHORS
new/python-keystoneclient-5.4.0/AUTHORS
--- old/python-keystoneclient-5.2.0/AUTHORS 2023-09-14 17:26:52.000000000
+0200
+++ new/python-keystoneclient-5.4.0/AUTHORS 2024-03-01 14:53:38.000000000
+0100
@@ -1,3 +1,4 @@
+Aarni Koskela <[email protected]>
Aaron Rosen <[email protected]>
Adam Gandelman <[email protected]>
Adam Young <[email protected]>
@@ -209,6 +210,7 @@
Stuart McLaren <[email protected]>
Sushil Kumar <[email protected]>
THOMAS J. COCOZZELLO <[email protected]>
+Takashi Kajinami <[email protected]>
Takashi Kajinami <[email protected]>
Tang Chen <[email protected]>
Thiago Paiva Brito <[email protected]>
@@ -278,6 +280,7 @@
lin-hua-cheng <[email protected]>
liu-sheng <[email protected]>
liuqing <[email protected]>
+ljhuang <[email protected]>
llg8212 <[email protected]>
lrqrun <[email protected]>
lvxianguo <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/ChangeLog
new/python-keystoneclient-5.4.0/ChangeLog
--- old/python-keystoneclient-5.2.0/ChangeLog 2023-09-14 17:26:52.000000000
+0200
+++ new/python-keystoneclient-5.4.0/ChangeLog 2024-03-01 14:53:38.000000000
+0100
@@ -1,16 +1,34 @@
CHANGES
=======
+5.4.0
+-----
+
+* reno: Update master for unmaintained/yoga
+* Bump hacking
+* Update python classifier in setup.cfg
+
+5.3.0
+-----
+
+* Remove six dependency
+* Remove deprecated pbr options
+* Stop installing python-all-dev in Ubuntu/Debian
+* Declare Python 3.10 support
+* Update master for stable/2023.2
+
5.2.0
-----
* Fix the gate
+* Update master for stable/2023.1
5.1.0
-----
* Switch to 2023.1 Python3 unit tests and generic template name
* Update master for stable/zed
+* Replace abc.abstractproperty with property and abc.abstractmethod
5.0.1
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/PKG-INFO
new/python-keystoneclient-5.4.0/PKG-INFO
--- old/python-keystoneclient-5.2.0/PKG-INFO 2023-09-14 17:26:53.087831700
+0200
+++ new/python-keystoneclient-5.4.0/PKG-INFO 2024-03-01 14:53:39.030612500
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-keystoneclient
-Version: 5.2.0
+Version: 5.4.0
Summary: Client Library for OpenStack Identity
Home-page: https://docs.openstack.org/python-keystoneclient/latest/
Author: OpenStack
@@ -80,4 +80,6 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/bindep.txt
new/python-keystoneclient-5.4.0/bindep.txt
--- old/python-keystoneclient-5.2.0/bindep.txt 2023-09-14 17:26:11.000000000
+0200
+++ new/python-keystoneclient-5.4.0/bindep.txt 2024-03-01 14:53:11.000000000
+0100
@@ -14,7 +14,6 @@
libsasl2-dev [platform:dpkg]
libxml2-dev [platform:dpkg]
libxslt1-dev [platform:dpkg]
-python-all-dev [platform:dpkg]
python3-all-dev [platform:dpkg]
cyrus-sasl-devel [platform:rpm]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/auth/base.py
new/python-keystoneclient-5.4.0/keystoneclient/auth/base.py
--- old/python-keystoneclient-5.2.0/keystoneclient/auth/base.py 2023-09-14
17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/auth/base.py 2024-03-01
14:53:11.000000000 +0100
@@ -14,7 +14,6 @@
from debtcollector import removals
from keystoneauth1 import plugin
-import six
import stevedore
from keystoneclient import exceptions
@@ -292,7 +291,7 @@
# select the first ENV that is not false-y or return None
env_vars = (os.environ.get(e) for e in envs)
- default = six.next(six.moves.filter(None, env_vars), None)
+ default = next(filter(None, env_vars), None)
parser.add_argument(*args,
default=default or opt.default,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/base.py
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/base.py
--- old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/base.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/base.py
2024-03-01 14:53:11.000000000 +0100
@@ -16,7 +16,6 @@
import warnings
from oslo_config import cfg
-import six
from keystoneclient import _discover
from keystoneclient.auth import base
@@ -31,8 +30,7 @@
]
[email protected]_metaclass(abc.ABCMeta)
-class BaseIdentityPlugin(base.BaseAuthPlugin):
+class BaseIdentityPlugin(base.BaseAuthPlugin, metaclass=abc.ABCMeta):
# we count a token as valid (not needing refreshing) if it is valid for at
# least this many seconds before the token expiry time
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/generic/base.py
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/generic/base.py
---
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/generic/base.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/generic/base.py
2024-03-01 14:53:11.000000000 +0100
@@ -12,10 +12,9 @@
import abc
import logging
+import urllib.parse as urlparse
from oslo_config import cfg
-import six
-import six.moves.urllib.parse as urlparse
from keystoneclient import _discover
from keystoneclient.auth.identity import base
@@ -42,8 +41,7 @@
]
[email protected]_metaclass(abc.ABCMeta)
-class BaseGenericPlugin(base.BaseIdentityPlugin):
+class BaseGenericPlugin(base.BaseIdentityPlugin, metaclass=abc.ABCMeta):
"""An identity plugin that is not version dependent.
Internally we will construct a version dependent plugin with the resolved
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/v2.py
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/v2.py
--- old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/v2.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/v2.py
2024-03-01 14:53:11.000000000 +0100
@@ -14,7 +14,6 @@
import logging
from oslo_config import cfg
-import six
from keystoneclient import access
from keystoneclient.auth.identity import base
@@ -24,8 +23,7 @@
_logger = logging.getLogger(__name__)
[email protected]_metaclass(abc.ABCMeta)
-class Auth(base.BaseIdentityPlugin):
+class Auth(base.BaseIdentityPlugin, metaclass=abc.ABCMeta):
"""Identity V2 Authentication Plugin.
:param string auth_url: Identity service endpoint for authorization.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/v3/base.py
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/v3/base.py
--- old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/v3/base.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/v3/base.py
2024-03-01 14:53:11.000000000 +0100
@@ -15,7 +15,6 @@
from oslo_config import cfg
from oslo_serialization import jsonutils
-import six
from keystoneclient import access
from keystoneclient.auth.identity import base
@@ -27,8 +26,7 @@
__all__ = ('Auth', 'AuthMethod', 'AuthConstructor', 'BaseAuth')
[email protected]_metaclass(abc.ABCMeta)
-class BaseAuth(base.BaseIdentityPlugin):
+class BaseAuth(base.BaseIdentityPlugin, metaclass=abc.ABCMeta):
"""Identity V3 Authentication Plugin.
:param string auth_url: Identity service endpoint for authentication.
@@ -198,8 +196,7 @@
**resp_data)
[email protected]_metaclass(abc.ABCMeta)
-class AuthMethod(object):
+class AuthMethod(object, metaclass=abc.ABCMeta):
"""One part of a V3 Authentication strategy.
V3 Tokens allow multiple methods to be presented when authentication
@@ -243,8 +240,7 @@
pass # pragma: no cover
[email protected]_metaclass(abc.ABCMeta)
-class AuthConstructor(Auth):
+class AuthConstructor(Auth, metaclass=abc.ABCMeta):
"""Abstract base class for creating an Auth Plugin.
The Auth Plugin created contains only one authentication method. This
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/v3/federated.py
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/v3/federated.py
---
old/python-keystoneclient-5.2.0/keystoneclient/auth/identity/v3/federated.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/auth/identity/v3/federated.py
2024-03-01 14:53:11.000000000 +0100
@@ -13,7 +13,6 @@
import abc
from oslo_config import cfg
-import six
from keystoneclient.auth.identity.v3 import base
from keystoneclient.auth.identity.v3 import token
@@ -21,8 +20,7 @@
__all__ = ('FederatedBaseAuth',)
[email protected]_metaclass(abc.ABCMeta)
-class FederatedBaseAuth(base.BaseAuth):
+class FederatedBaseAuth(base.BaseAuth, metaclass=abc.ABCMeta):
rescoping_plugin = token.Token
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/keystoneclient/base.py
new/python-keystoneclient-5.4.0/keystoneclient/base.py
--- old/python-keystoneclient-5.2.0/keystoneclient/base.py 2023-09-14
17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/base.py 2024-03-01
14:53:11.000000000 +0100
@@ -20,13 +20,12 @@
import abc
import copy
import functools
+import urllib
import warnings
from keystoneauth1 import exceptions as ksa_exceptions
from keystoneauth1 import plugin
from oslo_utils import strutils
-import six
-from six.moves import urllib
from keystoneclient import exceptions as ksc_exceptions
from keystoneclient.i18n import _
@@ -265,8 +264,7 @@
return self._prepare_return_value(resp, body)
[email protected]_metaclass(abc.ABCMeta)
-class ManagerWithFind(Manager):
+class ManagerWithFind(Manager, metaclass=abc.ABCMeta):
"""Manager with additional `find()`/`findall()` methods."""
@abc.abstractmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/common/cms.py
new/python-keystoneclient-5.4.0/keystoneclient/common/cms.py
--- old/python-keystoneclient-5.2.0/keystoneclient/common/cms.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/common/cms.py
2024-03-01 14:53:11.000000000 +0100
@@ -26,7 +26,6 @@
import zlib
from debtcollector import removals
-import six
from keystoneclient import exceptions
from keystoneclient.i18n import _
@@ -116,7 +115,7 @@
retcode, err = _check_files_accessible(files)
if process.stderr:
msg = process.stderr.read()
- if isinstance(msg, six.binary_type):
+ if isinstance(msg, bytes):
msg = msg.decode('utf-8')
if err:
err = (_('Hit OSError in '
@@ -133,7 +132,7 @@
else:
retcode = process.poll()
if err is not None:
- if isinstance(err, six.binary_type):
+ if isinstance(err, bytes):
err = err.decode('utf-8')
return output, err, retcode
@@ -162,8 +161,8 @@
properly.
"""
_ensure_subprocess()
- if isinstance(formatted, six.string_types):
- data = bytearray(formatted, _encoding_for_form(inform))
+ if isinstance(formatted, str):
+ data = bytes(formatted, _encoding_for_form(inform))
else:
data = formatted
process = subprocess.Popen(['openssl', 'cms', '-verify',
@@ -356,8 +355,8 @@
"""
_ensure_subprocess()
- if isinstance(data_to_sign, six.string_types):
- data = bytearray(data_to_sign, encoding='utf-8')
+ if isinstance(data_to_sign, str):
+ data = bytes(data_to_sign, encoding='utf-8')
else:
data = data_to_sign
process = subprocess.Popen(['openssl', 'cms', '-sign',
@@ -437,7 +436,7 @@
return None
if is_asn1_token(token_id) or is_pkiz(token_id):
hasher = hashlib.new(mode)
- if isinstance(token_id, six.text_type):
+ if isinstance(token_id, str):
token_id = token_id.encode('utf-8')
hasher.update(token_id)
return hasher.hexdigest()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/contrib/auth/v3/saml2.py
new/python-keystoneclient-5.4.0/keystoneclient/contrib/auth/v3/saml2.py
--- old/python-keystoneclient-5.2.0/keystoneclient/contrib/auth/v3/saml2.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/contrib/auth/v3/saml2.py
2024-03-01 14:53:11.000000000 +0100
@@ -11,11 +11,11 @@
# under the License.
import datetime
+import urllib.parse
import uuid
from lxml import etree # nosec(cjschaef): used to create xml, not parse it
from oslo_config import cfg
-from six.moves import urllib
from keystoneclient import access
from keystoneclient.auth.identity import v3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/contrib/ec2/utils.py
new/python-keystoneclient-5.4.0/keystoneclient/contrib/ec2/utils.py
--- old/python-keystoneclient-5.2.0/keystoneclient/contrib/ec2/utils.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/contrib/ec2/utils.py
2024-03-01 14:53:11.000000000 +0100
@@ -20,9 +20,7 @@
import hashlib
import hmac
import re
-
-import six
-from six.moves import urllib
+import urllib.parse
from keystoneclient.i18n import _
@@ -106,9 +104,9 @@
@staticmethod
def _get_utf8_value(value):
"""Get the UTF8-encoded version of a value."""
- if not isinstance(value, (six.binary_type, six.text_type)):
+ if not isinstance(value, (str, bytes)):
value = str(value)
- if isinstance(value, six.text_type):
+ if isinstance(value, str):
return value.encode('utf-8')
else:
return value
@@ -121,9 +119,7 @@
def _calc_signature_1(self, params):
"""Generate AWS signature version 1 string."""
- keys = list(params)
- keys.sort(key=six.text_type.lower)
- for key in keys:
+ for key in sorted(params, key=str.lower):
self.hmac.update(key.encode('utf-8'))
val = self._get_utf8_value(params[key])
self.hmac.update(val)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/generic/client.py
new/python-keystoneclient-5.4.0/keystoneclient/generic/client.py
--- old/python-keystoneclient-5.2.0/keystoneclient/generic/client.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/generic/client.py
2024-03-01 14:53:11.000000000 +0100
@@ -14,9 +14,9 @@
# under the License.
import logging
+import urllib.parse as urlparse
from debtcollector import removals
-from six.moves.urllib import parse as urlparse
from keystoneclient import exceptions
from keystoneclient import httpclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/httpclient.py
new/python-keystoneclient-5.4.0/keystoneclient/httpclient.py
--- old/python-keystoneclient-5.2.0/keystoneclient/httpclient.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/httpclient.py
2024-03-01 14:53:11.000000000 +0100
@@ -17,16 +17,10 @@
# under the License.
"""OpenStack Client interface. Handles the REST calls and responses."""
+import importlib.metadata
import logging
import warnings
-try:
- # For Python 3.8 and later
- import importlib.metadata as importlib_metadata
-except ImportError:
- # For everyone else
- import importlib_metadata
-
from debtcollector import removals
from debtcollector import renames
from keystoneauth1 import adapter
@@ -41,7 +35,7 @@
# trigger if it's a version of keyring that's supported in global
# requirements. Update _min and _bad when that changes.
keyring_v = packaging.version.Version(
- importlib_metadata.version('keyring')
+ importlib.metadata.version('keyring')
)
keyring_min = packaging.version.Version('5.5.1')
# This is a list of versions, e.g., pkg_resources.parse_version('3.3')
@@ -51,7 +45,7 @@
import keyring
else:
keyring = None
-except (ImportError, importlib_metadata.PackageNotFoundError):
+except (ImportError, importlib.metadata.PackageNotFoundError):
keyring = None
pickle = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/service_catalog.py
new/python-keystoneclient-5.4.0/keystoneclient/service_catalog.py
--- old/python-keystoneclient-5.2.0/keystoneclient/service_catalog.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/service_catalog.py
2024-03-01 14:53:11.000000000 +0100
@@ -19,14 +19,11 @@
import abc
import warnings
-import six
-
from keystoneclient import exceptions
from keystoneclient.i18n import _
[email protected]_metaclass(abc.ABCMeta)
-class ServiceCatalog(object):
+class ServiceCatalog(object, metaclass=abc.ABCMeta):
"""Helper methods for dealing with a Keystone Service Catalog.
.. warning::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/session.py
new/python-keystoneclient-5.4.0/keystoneclient/session.py
--- old/python-keystoneclient-5.2.0/keystoneclient/session.py 2023-09-14
17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/session.py 2024-03-01
14:53:11.000000000 +0100
@@ -17,6 +17,7 @@
import os
import socket
import time
+import urllib.parse
import warnings
from debtcollector import removals
@@ -26,8 +27,6 @@
from oslo_utils import importutils
from oslo_utils import strutils
import requests
-import six
-from six.moves import urllib
from keystoneclient import exceptions
from keystoneclient.i18n import _
@@ -191,7 +190,7 @@
# so we need to actually check that this is False.
if self.verify is False:
string_parts.append('--insecure')
- elif isinstance(self.verify, six.string_types):
+ elif isinstance(self.verify, str):
string_parts.append('--cacert "%s"' % self.verify)
if method:
@@ -205,7 +204,7 @@
% self._process_header(header))
if data:
- if isinstance(data, six.binary_type):
+ if isinstance(data, bytes):
try:
data = data.decode("ascii")
except UnicodeDecodeError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/auth/test_identity_common.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/auth/test_identity_common.py
---
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/auth/test_identity_common.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/auth/test_identity_common.py
2024-03-01 14:53:11.000000000 +0100
@@ -18,7 +18,6 @@
from keystoneauth1 import fixture
from keystoneauth1 import plugin
from oslo_utils import timeutils
-import six
from keystoneclient import access
from keystoneclient.auth import base
@@ -28,8 +27,7 @@
from keystoneclient.tests.unit import utils
[email protected]_metaclass(abc.ABCMeta)
-class CommonIdentityTests(object):
+class CommonIdentityTests(object, metaclass=abc.ABCMeta):
TEST_ROOT_URL = 'http://127.0.0.1:5000/'
TEST_ROOT_ADMIN_URL = 'http://127.0.0.1:35357/'
@@ -79,7 +77,8 @@
self.stub_auth(json=token)
- @abc.abstractproperty
+ @property
+ @abc.abstractmethod
def version(self):
"""The API version being tested."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/client_fixtures.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/client_fixtures.py
---
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/client_fixtures.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/client_fixtures.py
2024-03-01 14:53:11.000000000 +0100
@@ -23,7 +23,6 @@
from keystoneauth1 import session as ksa_session
from oslo_serialization import jsonutils
from oslo_utils import timeutils
-import six
import testresources
from keystoneclient.auth import identity as ksc_identity
@@ -204,7 +203,7 @@
def _hash_signed_token_safe(signed_text, **kwargs):
- if isinstance(signed_text, six.text_type):
+ if isinstance(signed_text, str):
signed_text = signed_text.encode('utf-8')
return utils.hash_signed_token(signed_text, **kwargs)
@@ -299,7 +298,7 @@
self.v3_UUID_TOKEN_UNKNOWN_BIND = '7ed9781b62cd4880b8d8c6788ab1d1e2'
revoked_token = self.REVOKED_TOKEN
- if isinstance(revoked_token, six.text_type):
+ if isinstance(revoked_token, str):
revoked_token = revoked_token.encode('utf-8')
self.REVOKED_TOKEN_HASH = utils.hash_signed_token(revoked_token)
self.REVOKED_TOKEN_HASH_SHA256 = utils.hash_signed_token(revoked_token,
@@ -310,7 +309,7 @@
self.REVOKED_TOKEN_LIST_JSON = jsonutils.dumps(self.REVOKED_TOKEN_LIST)
revoked_v3_token = self.REVOKED_v3_TOKEN
- if isinstance(revoked_v3_token, six.text_type):
+ if isinstance(revoked_v3_token, str):
revoked_v3_token = revoked_v3_token.encode('utf-8')
self.REVOKED_v3_TOKEN_HASH = utils.hash_signed_token(revoked_v3_token)
hash = utils.hash_signed_token(revoked_v3_token, mode='sha256')
@@ -322,12 +321,12 @@
self.REVOKED_v3_TOKEN_LIST)
revoked_token_pkiz = self.REVOKED_TOKEN_PKIZ
- if isinstance(revoked_token_pkiz, six.text_type):
+ if isinstance(revoked_token_pkiz, str):
revoked_token_pkiz = revoked_token_pkiz.encode('utf-8')
self.REVOKED_TOKEN_PKIZ_HASH = utils.hash_signed_token(
revoked_token_pkiz)
revoked_v3_token_pkiz = self.REVOKED_v3_TOKEN_PKIZ
- if isinstance(revoked_v3_token_pkiz, six.text_type):
+ if isinstance(revoked_v3_token_pkiz, str):
revoked_v3_token_pkiz = revoked_v3_token_pkiz.encode('utf-8')
self.REVOKED_v3_PKIZ_TOKEN_HASH = utils.hash_signed_token(
revoked_v3_token_pkiz)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_base.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_base.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_base.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_base.py
2024-03-01 14:53:11.000000000 +0100
@@ -319,7 +319,7 @@
delete_mock.assert_called_once_with('/test-url', name='hello')
self.assertEqual(base_resp.request_ids[0], TEST_REQUEST_ID)
self.assertEqual(base_resp.data, None)
- self.assertTrue(isinstance(resp, requests.Response))
+ self.assertIsInstance(resp, requests.Response)
def test_patch(self):
body = {"hello": {"hi": 1}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_discovery.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_discovery.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_discovery.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_discovery.py
2024-03-01 14:53:11.000000000 +0100
@@ -15,7 +15,6 @@
from keystoneauth1 import fixture
from oslo_serialization import jsonutils
-import six
from testtools import matchers
from keystoneclient import _discover
@@ -105,7 +104,7 @@
V3_MEDIA_TYPES = V3_VERSION.media_types
V3_VERSION.updated_str = UPDATED
-V3_TOKEN = six.u('3e2813b7ba0b4006840c3825860b86ed'),
+V3_TOKEN = ('3e2813b7ba0b4006840c3825860b86ed',)
V3_AUTH_RESPONSE = jsonutils.dumps({
"token": {
"methods": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_http.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_http.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_http.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_http.py
2024-03-01 14:53:11.000000000 +0100
@@ -12,9 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+import io
import logging
-import six
from testtools import matchers
from keystoneclient import exceptions
@@ -153,7 +153,7 @@
def setUp(self):
super(BasicRequestTests, self).setUp()
- self.logger_message = six.moves.cStringIO()
+ self.logger_message = io.StringIO()
handler = logging.StreamHandler(self.logger_message)
handler.setLevel(logging.DEBUG)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_session.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_session.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_session.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_session.py
2024-03-01 14:53:11.000000000 +0100
@@ -13,6 +13,7 @@
# under the License.
import argparse
+from io import StringIO
import itertools
import logging
from unittest import mock
@@ -22,7 +23,6 @@
from oslo_config import fixture as config
from oslo_serialization import jsonutils
import requests
-import six
from testtools import matchers
from keystoneclient import adapter
@@ -249,27 +249,6 @@
self.assertIn("'%s'" % data, self.logger.output)
- def test_binary_data_not_in_debug_output(self):
- """Verify that non-ascii-encodable data causes replacement."""
- if six.PY2:
- data = "my data" + chr(255)
- else:
- # Python 3 logging handles binary data well.
- return
-
- session = client_session.Session(verify=False)
-
- body = 'RESP'
- self.stub_url('POST', text=body)
-
- # Forced mixed unicode and byte strings in request
- # elements to make sure that all joins are appropriately
- # handled (any join of unicode and byte strings should
- # raise a UnicodeDecodeError)
- session.post(six.text_type(self.TEST_URL), data=data)
-
- self.assertNotIn('my data', self.logger.output)
-
def test_logging_cacerts(self):
path_to_certs = '/path/to/certs'
session = client_session.Session(verify=path_to_certs)
@@ -328,11 +307,12 @@
# The exception should contain the URL and details about the SSL error
msg = _('SSL exception connecting to %(url)s: %(error)s') % {
'url': self.TEST_URL, 'error': error}
- six.assertRaisesRegex(self,
- exceptions.SSLError,
- msg,
- session.get,
- self.TEST_URL)
+ self.assertRaisesRegex(
+ exceptions.SSLError,
+ msg,
+ session.get,
+ self.TEST_URL,
+ )
def test_mask_password_in_http_log_response(self):
session = client_session.Session()
@@ -807,7 +787,7 @@
logger.setLevel(logging.DEBUG)
logger.propagate = False
- io = six.StringIO()
+ io = StringIO()
handler = logging.StreamHandler(io)
logger.addHandler(handler)
@@ -1003,7 +983,7 @@
logger.setLevel(logging.DEBUG)
logger.propagate = False
- io = six.StringIO()
+ io = StringIO()
handler = logging.StreamHandler(io)
logger.addHandler(handler)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_utils.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_utils.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/test_utils.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/test_utils.py
2024-03-01 14:53:11.000000000 +0100
@@ -11,7 +11,6 @@
# under the License.
from keystoneauth1 import exceptions as ksa_exceptions
-import six
import testresources
from testtools import matchers
@@ -112,8 +111,7 @@
def test_default_md5(self):
"""The default hash method is md5."""
token = self.examples.SIGNED_TOKEN_SCOPED
- if six.PY3:
- token = token.encode('utf-8')
+ token = token.encode('utf-8')
token_id_default = utils.hash_signed_token(token)
token_id_md5 = utils.hash_signed_token(token, mode='md5')
self.assertThat(token_id_default, matchers.Equals(token_id_md5))
@@ -123,8 +121,7 @@
def test_sha256(self):
"""Can also hash with sha256."""
token = self.examples.SIGNED_TOKEN_SCOPED
- if six.PY3:
- token = token.encode('utf-8')
+ token = token.encode('utf-8')
token_id = utils.hash_signed_token(token, mode='sha256')
# sha256 hash is 64 chars.
self.assertThat(token_id, matchers.HasLength(64))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/utils.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/utils.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/utils.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/utils.py
2024-03-01 14:53:11.000000000 +0100
@@ -12,6 +12,7 @@
import logging
import sys
+import urllib.parse as urlparse
import uuid
import fixtures
@@ -19,7 +20,6 @@
import requests
import requests_mock
from requests_mock.contrib import fixture
-from six.moves.urllib import parse as urlparse
import testscenarios
import testtools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/saml2_fixtures.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/saml2_fixtures.py
---
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/saml2_fixtures.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/saml2_fixtures.py
2024-03-01 14:53:11.000000000 +0100
@@ -10,9 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-import six
-
-SP_SOAP_RESPONSE = six.b("""<S:Envelope
+SP_SOAP_RESPONSE = b"""<S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<paos:Request xmlns:paos="urn:liberty:paos:2003-08"
@@ -44,10 +42,10 @@
<samlp:IDPList>
<samlp:IDPEntry ProviderID="https://idp.testshib.org/idp/shibboleth"/>
</samlp:IDPList></samlp:Scoping></samlp:AuthnRequest></S:Body></S:Envelope>
-""")
+"""
-SAML2_ASSERTION = six.b("""<?xml version="1.0" encoding="UTF-8"?>
+SAML2_ASSERTION = b"""<?xml version="1.0" encoding="UTF-8"?>
<soap11:Envelope xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/">
<soap11:Header>
<ecp:Response xmlns:ecp="urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp"
@@ -95,7 +93,7 @@
<xenc:CipherValue>VALUE=</xenc:CipherValue></xenc:CipherData>
</xenc:EncryptedData></saml2:EncryptedAssertion></saml2p:Response>
</soap11:Body></soap11:Envelope>
-""")
+"""
UNSCOPED_TOKEN_HEADER = 'UNSCOPED_TOKEN'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_auth_oidc.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_auth_oidc.py
---
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_auth_oidc.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_auth_oidc.py
2024-03-01 14:53:11.000000000 +0100
@@ -10,10 +10,11 @@
# License for the specific language governing permissions and limitations
# under the License.
+import urllib.parse
import uuid
from oslo_config import fixture as config
-from six.moves import urllib
+
import testtools
from keystoneclient.auth import conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_auth_saml2.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_auth_saml2.py
---
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_auth_saml2.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_auth_saml2.py
2024-03-01 14:53:11.000000000 +0100
@@ -11,12 +11,12 @@
# under the License.
import os
+import urllib.parse
import uuid
from lxml import etree
from oslo_config import fixture as config
import requests
-from six.moves import urllib
from keystoneclient.auth import conf
from keystoneclient.contrib.auth.v3 import saml2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_federation.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_federation.py
---
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_federation.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_federation.py
2024-03-01 14:53:11.000000000 +0100
@@ -19,7 +19,6 @@
from keystoneauth1.identity import v3
from keystoneauth1 import session
from keystoneauth1.tests.unit import k2k_fixtures
-import six
from testtools import matchers
from keystoneclient import access
@@ -423,7 +422,7 @@
self.requests_mock.register_uri(
'POST',
self.REQUEST_ECP_URL,
- content=six.b(k2k_fixtures.ECP_ENVELOPE),
+ content=k2k_fixtures.ECP_ENVELOPE.encode(),
headers={'Content-Type': 'application/vnd.paos+xml'},
status_code=200)
@@ -433,7 +432,7 @@
self.requests_mock.register_uri(
'POST',
self.SP_URL,
- content=six.b(k2k_fixtures.TOKEN_BASED_ECP),
+ content=k2k_fixtures.TOKEN_BASED_ECP.encode(),
headers={'Content-Type': 'application/vnd.paos+xml'},
status_code=302)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_oauth1.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_oauth1.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/test_oauth1.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/test_oauth1.py
2024-03-01 14:53:11.000000000 +0100
@@ -14,10 +14,9 @@
from unittest import mock
import fixtures
+from urllib import parse as urlparse
import uuid
-import six
-from six.moves.urllib import parse as urlparse
from testtools import matchers
from keystoneclient import session
@@ -106,7 +105,7 @@
self.assertEqual('HMAC-SHA1', parameters['oauth_signature_method'])
self.assertEqual('1.0', parameters['oauth_version'])
- self.assertIsInstance(parameters['oauth_nonce'], six.string_types)
+ self.assertIsInstance(parameters['oauth_nonce'], str)
self.assertEqual(oauth_client.client_key,
parameters['oauth_consumer_key'])
if oauth_client.resource_owner_key:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/utils.py
new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/utils.py
--- old/python-keystoneclient-5.2.0/keystoneclient/tests/unit/v3/utils.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/tests/unit/v3/utils.py
2024-03-01 14:53:11.000000000 +0100
@@ -13,7 +13,7 @@
import requests
import uuid
-from six.moves.urllib import parse as urlparse
+from urllib import parse as urlparse
from keystoneauth1.identity import v3
from keystoneauth1 import session
@@ -280,7 +280,7 @@
return expected_path
def test_list_by_id(self, ref=None, **filter_kwargs):
- """Test ``entities.list(id=x)`` being rewritten as ``GET
/v3/entities/x``.
+ """Test ``entities.list(id=x)`` being rewritten as ``GET
/v3/entities/x``. # noqa
This tests an edge case of each manager's list() implementation, to
ensure that it "does the right thing" when users call ``.list()``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/keystoneclient/utils.py
new/python-keystoneclient-5.4.0/keystoneclient/utils.py
--- old/python-keystoneclient-5.2.0/keystoneclient/utils.py 2023-09-14
17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/utils.py 2024-03-01
14:53:11.000000000 +0100
@@ -16,7 +16,6 @@
from keystoneauth1 import exceptions as ksa_exceptions
from oslo_utils import timeutils
-import six
from keystoneclient import exceptions as ksc_exceptions
@@ -27,12 +26,12 @@
try:
return manager.get(name_or_id)
except (ksa_exceptions.NotFound): # nosec(cjschaef): try to find
- # 'name_or_id' as a six.binary_type instead
+ # 'name_or_id' as a bytes instead
pass
# finally try to find entity by name
try:
- if isinstance(name_or_id, six.binary_type):
+ if isinstance(name_or_id, bytes):
name_or_id = name_or_id.decode('utf-8', 'strict')
return manager.find(name=name_or_id)
except ksa_exceptions.NotFound:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v2_0/tenants.py
new/python-keystoneclient-5.4.0/keystoneclient/v2_0/tenants.py
--- old/python-keystoneclient-5.2.0/keystoneclient/v2_0/tenants.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/v2_0/tenants.py
2024-03-01 14:53:11.000000000 +0100
@@ -15,7 +15,7 @@
# under the License.
from keystoneauth1 import plugin
-from six.moves import urllib
+import urllib.parse
from keystoneclient import base
from keystoneclient import exceptions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v2_0/users.py
new/python-keystoneclient-5.4.0/keystoneclient/v2_0/users.py
--- old/python-keystoneclient-5.2.0/keystoneclient/v2_0/users.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/v2_0/users.py
2024-03-01 14:53:11.000000000 +0100
@@ -14,9 +14,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from six.moves import urllib
-
from keystoneclient import base
+import urllib.parse
class User(base.Resource):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v3/application_credentials.py
new/python-keystoneclient-5.4.0/keystoneclient/v3/application_credentials.py
---
old/python-keystoneclient-5.2.0/keystoneclient/v3/application_credentials.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/v3/application_credentials.py
2024-03-01 14:53:11.000000000 +0100
@@ -12,8 +12,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import six
-
from keystoneclient import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
@@ -78,7 +76,7 @@
if not isinstance(roles, list):
roles = [roles]
for role in roles:
- if isinstance(role, six.string_types):
+ if isinstance(role, str):
role_list.extend([{'id': role}])
elif isinstance(role, dict):
role_list.extend([role])
@@ -139,7 +137,7 @@
return super(ApplicationCredentialManager, self).list(**kwargs)
def find(self, user=None, **kwargs):
- """Find an application credential with attributes matching
``**kwargs``.
+ """Find an application credential with attributes matching
``**kwargs``. # noqa
:param string user: User ID
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v3/contrib/federation/base.py
new/python-keystoneclient-5.4.0/keystoneclient/v3/contrib/federation/base.py
---
old/python-keystoneclient-5.2.0/keystoneclient/v3/contrib/federation/base.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/v3/contrib/federation/base.py
2024-03-01 14:53:11.000000000 +0100
@@ -14,18 +14,17 @@
from keystoneauth1 import exceptions
from keystoneauth1 import plugin
-import six
from keystoneclient import base
[email protected]_metaclass(abc.ABCMeta)
-class EntityManager(base.Manager):
+class EntityManager(base.Manager, metaclass=abc.ABCMeta):
"""Manager class for listing federated accessible objects."""
resource_class = None
- @abc.abstractproperty
+ @property
+ @abc.abstractmethod
def object_type(self):
raise exceptions.MethodNotImplemented
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v3/contrib/oauth1/request_tokens.py
new/python-keystoneclient-5.4.0/keystoneclient/v3/contrib/oauth1/request_tokens.py
---
old/python-keystoneclient-5.2.0/keystoneclient/v3/contrib/oauth1/request_tokens.py
2023-09-14 17:26:11.000000000 +0200
+++
new/python-keystoneclient-5.4.0/keystoneclient/v3/contrib/oauth1/request_tokens.py
2024-03-01 14:53:11.000000000 +0100
@@ -11,8 +11,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import urllib.parse as urlparse
+
from keystoneauth1 import plugin
-from six.moves.urllib import parse as urlparse
from keystoneclient import base
from keystoneclient.v3.contrib.oauth1 import utils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v3/contrib/oauth1/utils.py
new/python-keystoneclient-5.4.0/keystoneclient/v3/contrib/oauth1/utils.py
--- old/python-keystoneclient-5.2.0/keystoneclient/v3/contrib/oauth1/utils.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/v3/contrib/oauth1/utils.py
2024-03-01 14:53:11.000000000 +0100
@@ -11,8 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import six
-from six.moves.urllib import parse as urlparse
+import urllib.parse as urlparse
OAUTH_PATH = '/OS-OAUTH1'
@@ -25,8 +24,7 @@
'oauth_token=12345&oauth_token_secret=67890' with
'oauth_expires_at=2013-03-30T05:27:19.463201' possibly there, too.
"""
- if six.PY3:
- body = body.decode('utf-8')
+ body = body.decode('utf-8')
credentials = urlparse.parse_qs(body)
key = credentials['oauth_token'][0]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/keystoneclient/v3/projects.py
new/python-keystoneclient-5.4.0/keystoneclient/v3/projects.py
--- old/python-keystoneclient-5.2.0/keystoneclient/v3/projects.py
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/keystoneclient/v3/projects.py
2024-03-01 14:53:11.000000000 +0100
@@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-import six.moves.urllib as urllib
+import urllib.parse
from keystoneclient import base
from keystoneclient import exceptions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/PKG-INFO
new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/PKG-INFO
--- old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/PKG-INFO
2023-09-14 17:26:52.000000000 +0200
+++ new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/PKG-INFO
2024-03-01 14:53:38.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-keystoneclient
-Version: 5.2.0
+Version: 5.4.0
Summary: Client Library for OpenStack Identity
Home-page: https://docs.openstack.org/python-keystoneclient/latest/
Author: OpenStack
@@ -80,4 +80,6 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/SOURCES.txt
new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/SOURCES.txt
--- old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/SOURCES.txt
2023-09-14 17:26:53.000000000 +0200
+++ new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/SOURCES.txt
2024-03-01 14:53:38.000000000 +0100
@@ -307,6 +307,8 @@
releasenotes/notes/removed-generic-client-ff505b2b01bc9302.yaml
releasenotes/notes/return-request-id-to-caller-97fa269ad626f8c1.yaml
releasenotes/notes/switch-default-interface-v3-dcd7167196ace531.yaml
+releasenotes/source/2023.1.rst
+releasenotes/source/2023.2.rst
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/mitaka.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/pbr.json
new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/pbr.json
--- old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/pbr.json
2023-09-14 17:26:52.000000000 +0200
+++ new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/pbr.json
2024-03-01 14:53:38.000000000 +0100
@@ -1 +1 @@
-{"git_version": "141787a", "is_release": true}
\ No newline at end of file
+{"git_version": "c66d778", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/requires.txt
new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/requires.txt
--- old/python-keystoneclient-5.2.0/python_keystoneclient.egg-info/requires.txt
2023-09-14 17:26:52.000000000 +0200
+++ new/python-keystoneclient-5.4.0/python_keystoneclient.egg-info/requires.txt
2024-03-01 14:53:38.000000000 +0100
@@ -7,8 +7,4 @@
packaging>=20.4
pbr!=2.1.0,>=2.0.0
requests>=2.14.2
-six>=1.10.0
stevedore>=1.20.0
-
-[:(python_version<'3.8')]
-importlib_metadata>=1.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/releasenotes/source/2023.1.rst
new/python-keystoneclient-5.4.0/releasenotes/source/2023.1.rst
--- old/python-keystoneclient-5.2.0/releasenotes/source/2023.1.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python-keystoneclient-5.4.0/releasenotes/source/2023.1.rst
2024-03-01 14:53:11.000000000 +0100
@@ -0,0 +1,6 @@
+===========================
+2023.1 Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/2023.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/releasenotes/source/2023.2.rst
new/python-keystoneclient-5.4.0/releasenotes/source/2023.2.rst
--- old/python-keystoneclient-5.2.0/releasenotes/source/2023.2.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python-keystoneclient-5.4.0/releasenotes/source/2023.2.rst
2024-03-01 14:53:11.000000000 +0100
@@ -0,0 +1,6 @@
+===========================
+2023.2 Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/2023.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/releasenotes/source/index.rst
new/python-keystoneclient-5.4.0/releasenotes/source/index.rst
--- old/python-keystoneclient-5.2.0/releasenotes/source/index.rst
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/releasenotes/source/index.rst
2024-03-01 14:53:11.000000000 +0100
@@ -6,6 +6,8 @@
:maxdepth: 1
unreleased
+ 2023.2
+ 2023.1
zed
yoga
xena
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-keystoneclient-5.2.0/releasenotes/source/yoga.rst
new/python-keystoneclient-5.4.0/releasenotes/source/yoga.rst
--- old/python-keystoneclient-5.2.0/releasenotes/source/yoga.rst
2023-09-14 17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/releasenotes/source/yoga.rst
2024-03-01 14:53:11.000000000 +0100
@@ -3,4 +3,4 @@
=========================
.. release-notes::
- :branch: stable/yoga
+ :branch: unmaintained/yoga
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/requirements.txt
new/python-keystoneclient-5.4.0/requirements.txt
--- old/python-keystoneclient-5.2.0/requirements.txt 2023-09-14
17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/requirements.txt 2024-03-01
14:53:11.000000000 +0100
@@ -1,11 +1,6 @@
# Requirements lower bounds listed here are our best effort to keep them up to
# date but we do not test them so no guarantee of having them all correct. If
# you find any incorrect lower bounds, let us know or propose a fix.
-
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
-
pbr!=2.1.0,>=2.0.0 # Apache-2.0
debtcollector>=1.2.0 # Apache-2.0
@@ -15,7 +10,5 @@
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
requests>=2.14.2 # Apache-2.0
-six>=1.10.0 # MIT
stevedore>=1.20.0 # Apache-2.0
-importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0
packaging>=20.4 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/setup.cfg
new/python-keystoneclient-5.4.0/setup.cfg
--- old/python-keystoneclient-5.2.0/setup.cfg 2023-09-14 17:26:53.087831700
+0200
+++ new/python-keystoneclient-5.4.0/setup.cfg 2024-03-01 14:53:39.034612400
+0100
@@ -17,6 +17,8 @@
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
[files]
packages =
@@ -36,12 +38,6 @@
v3scopedsaml = keystoneclient.contrib.auth.v3.saml2:Saml2ScopedToken
v3unscopedadfs = keystoneclient.contrib.auth.v3.saml2:ADFSUnscopedToken
-[pbr]
-autodoc_tree_index_modules = True
-autodoc_tree_excludes =
- setup.py
- keystoneclient/tests/
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-keystoneclient-5.2.0/test-requirements.txt
new/python-keystoneclient-5.4.0/test-requirements.txt
--- old/python-keystoneclient-5.2.0/test-requirements.txt 2023-09-14
17:26:11.000000000 +0200
+++ new/python-keystoneclient-5.4.0/test-requirements.txt 2024-03-01
14:53:11.000000000 +0100
@@ -1,8 +1,4 @@
-# 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.
-
-hacking>=3.0.1,<3.1.0 # Apache-2.0
+hacking>=6.1.0,<6.2.0 # Apache-2.0
flake8-docstrings==1.7.0 # MIT
coverage!=4.4,>=4.0 # Apache-2.0