Fixing D202 and D203 PEP257 violation.
Currently tox ignores D202 and D203. D202: No blank lines allowed after function docstring. D203: 1 blank required before class docstring. This change removes D202 and D203 ignores in tox and fix violations. Change-Id: I97ef88c9cfd56774e47f789cbbcf8ccfe85d7737
This commit is contained in:
		| @@ -75,7 +75,6 @@ def get_version_data(session, url, authenticated=None): | ||||
|  | ||||
| def normalize_version_number(version): | ||||
|     """Turn a version representation into a tuple.""" | ||||
|  | ||||
|     # trim the v from a 'v2.0' or similar | ||||
|     try: | ||||
|         version = version.lstrip('v') | ||||
|   | ||||
| @@ -49,7 +49,6 @@ class AccessInfo(dict): | ||||
|             release and may be removed in the 2.0.0 release. | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         if region_name: | ||||
|             warnings.warn( | ||||
|                 'Use of the region_name argument is deprecated as of the ' | ||||
|   | ||||
| @@ -276,7 +276,6 @@ class BaseAuthPlugin(object): | ||||
|         :param parser: the parser to attach argparse options. | ||||
|         :type parser: argparse.ArgumentParser | ||||
|         """ | ||||
|  | ||||
|         # NOTE(jamielennox): ideally oslo_config would be smart enough to | ||||
|         # handle all the Opt manipulation that goes on in this file. However it | ||||
|         # is currently not.  Options are handled in as similar a way as | ||||
| @@ -313,7 +312,6 @@ class BaseAuthPlugin(object): | ||||
|         :returns: An auth plugin, or None if a name is not provided. | ||||
|         :rtype: :py:class:`keystoneclient.auth.BaseAuthPlugin` | ||||
|         """ | ||||
|  | ||||
|         def _getter(opt): | ||||
|             return getattr(namespace, 'os_%s' % opt.dest) | ||||
|  | ||||
| @@ -343,7 +341,6 @@ class BaseAuthPlugin(object): | ||||
|         :returns: An authentication Plugin. | ||||
|         :rtype: :py:class:`keystoneclient.auth.BaseAuthPlugin` | ||||
|         """ | ||||
|  | ||||
|         def _getter(opt): | ||||
|             return conf[group][opt.dest] | ||||
|  | ||||
| @@ -366,7 +363,6 @@ class BaseAuthPlugin(object): | ||||
|         :returns: An authentication Plugin. | ||||
|         :rtype: :py:class:`keystoneclient.auth.BaseAuthPlugin` | ||||
|         """ | ||||
|  | ||||
|         plugin_opts = cls.get_options() | ||||
|  | ||||
|         for opt in plugin_opts: | ||||
|   | ||||
| @@ -73,7 +73,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'username is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -86,7 +85,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'username is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -99,7 +97,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'password is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -112,7 +109,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'password is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -125,7 +121,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'token is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -138,7 +133,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'token is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -151,7 +145,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'trust_id is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
| @@ -164,7 +157,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): | ||||
|  | ||||
|         It may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'trust_id is deprecated as of the 1.7.0 release and may be ' | ||||
|             'removed in the 2.0.0 release.', DeprecationWarning) | ||||
|   | ||||
| @@ -101,7 +101,6 @@ def _check_files_accessible(files): | ||||
|  | ||||
| def _process_communicate_handle_oserror(process, data, files): | ||||
|     """Wrapper around process.communicate that checks for OSError.""" | ||||
|  | ||||
|     try: | ||||
|         output, err = process.communicate(data) | ||||
|     except OSError as e: | ||||
|   | ||||
| @@ -138,7 +138,6 @@ class OidcPassword(federated.FederatedBaseAuth): | ||||
|         :returns: a token data representation | ||||
|         :rtype: :py:class:`keystoneclient.access.AccessInfo` | ||||
|         """ | ||||
|  | ||||
|         # get an access token | ||||
|         client_auth = (self.client_id, self.client_secret) | ||||
|         payload = {'grant_type': self.grant_type, 'username': self.username, | ||||
|   | ||||
| @@ -293,7 +293,6 @@ class Saml2UnscopedToken(_BaseSAMLPlugin): | ||||
|  | ||||
|     def _send_idp_saml2_authn_request(self, session): | ||||
|         """Present modified SAML2 authn assertion from the Service Provider.""" | ||||
|  | ||||
|         self._prepare_idp_saml2_request(self.saml2_authn_request) | ||||
|         idp_saml2_authn_request = self.saml2_authn_request | ||||
|  | ||||
| @@ -581,7 +580,6 @@ class ADFSUnscopedToken(_BaseSAMLPlugin): | ||||
|         :type fmt: string | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         date_created = datetime.datetime.utcnow() | ||||
|         date_expires = date_created + datetime.timedelta( | ||||
|             seconds=self.DEFAULT_ADFS_TOKEN_EXPIRATION) | ||||
| @@ -593,7 +591,6 @@ class ADFSUnscopedToken(_BaseSAMLPlugin): | ||||
|         Some values like username or password are inserted in the request. | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         WSS_SECURITY_NAMESPACE = { | ||||
|             'o': ('http://docs.oasis-open.org/wss/2004/01/oasis-200401-' | ||||
|                   'wss-wssecurity-secext-1.0.xsd') | ||||
| @@ -905,7 +902,6 @@ class Saml2ScopedTokenMethod(v3.TokenMethod): | ||||
|  | ||||
|     def get_auth_data(self, session, auth, headers, **kwargs): | ||||
|         """Build and return request body for token scoping step.""" | ||||
|  | ||||
|         t = super(Saml2ScopedTokenMethod, self).get_auth_data( | ||||
|             session, auth, headers, **kwargs) | ||||
|         _token_method, token = t | ||||
|   | ||||
| @@ -162,7 +162,6 @@ class Ec2Signer(object): | ||||
|     def _calc_signature_4(self, params, verb, server_string, path, headers, | ||||
|                           body_hash): | ||||
|         """Generate AWS signature version 4 string.""" | ||||
|  | ||||
|         def sign(key, msg): | ||||
|             return hmac.new(key, self._get_utf8_value(msg), | ||||
|                             hashlib.sha256).digest() | ||||
|   | ||||
| @@ -463,7 +463,6 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin): | ||||
|             This is deprecated as of the 1.7.0 release in favor of project_id | ||||
|             and may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'tenant_id is deprecated as of the 1.7.0 release in favor of ' | ||||
|             'project_id and may be removed in the 2.0.0 release.', | ||||
| @@ -480,7 +479,6 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin): | ||||
|             This is deprecated as of the 1.7.0 release in favor of project_name | ||||
|             and may be removed in the 2.0.0 release. | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'tenant_name is deprecated as of the 1.7.0 release in favor of ' | ||||
|             'project_name and may be removed in the 2.0.0 release.', | ||||
|   | ||||
| @@ -310,7 +310,6 @@ class Session(object): | ||||
|  | ||||
|         :returns: The response to the request. | ||||
|         """ | ||||
|  | ||||
|         headers = kwargs.setdefault('headers', dict()) | ||||
|  | ||||
|         if authenticated is None: | ||||
| @@ -563,12 +562,10 @@ class Session(object): | ||||
|         functions without session arguments. | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         warnings.warn( | ||||
|             'Session.construct() is deprecated as of the 1.7.0 release  in ' | ||||
|             'favor of using session constructor and may be removed in the ' | ||||
|             '2.0.0 release.', DeprecationWarning) | ||||
|  | ||||
|         return cls._construct(kwargs) | ||||
|  | ||||
|     @classmethod | ||||
|   | ||||
| @@ -180,7 +180,6 @@ class SessionTests(utils.TestCase): | ||||
|  | ||||
|     def test_logs_failed_output(self): | ||||
|         """Test that output is logged even for failed requests.""" | ||||
|  | ||||
|         session = client_session.Session() | ||||
|         body = uuid.uuid4().hex | ||||
|  | ||||
| @@ -192,7 +191,6 @@ class SessionTests(utils.TestCase): | ||||
|  | ||||
|     def test_unicode_data_in_debug_output(self): | ||||
|         """Verify that ascii-encodable data is logged without modification.""" | ||||
|  | ||||
|         session = client_session.Session(verify=False) | ||||
|  | ||||
|         body = 'RESP' | ||||
| @@ -204,7 +202,6 @@ class SessionTests(utils.TestCase): | ||||
|  | ||||
|     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: | ||||
|   | ||||
| @@ -158,7 +158,6 @@ class DisableModuleFixture(fixtures.Fixture): | ||||
|  | ||||
|     def setUp(self): | ||||
|         """Ensure ImportError for the specified module.""" | ||||
|  | ||||
|         super(DisableModuleFixture, self).setUp() | ||||
|  | ||||
|         # Clear 'module' references in sys.modules | ||||
|   | ||||
| @@ -93,7 +93,6 @@ class AuthenticateOIDCTests(utils.TestCase): | ||||
|                     " argument 'project_name'") | ||||
|     def test_conf_params(self): | ||||
|         """Ensure OpenID Connect config options work.""" | ||||
|  | ||||
|         section = uuid.uuid4().hex | ||||
|         identity_provider = uuid.uuid4().hex | ||||
|         protocol = uuid.uuid4().hex | ||||
| @@ -129,7 +128,6 @@ class AuthenticateOIDCTests(utils.TestCase): | ||||
|  | ||||
|     def test_initial_call_to_get_access_token(self): | ||||
|         """Test initial call, expect JSON access token.""" | ||||
|  | ||||
|         # Mock the output that creates the access token | ||||
|         self.requests_mock.post( | ||||
|             self.ACCESS_TOKEN_ENDPOINT, | ||||
| @@ -154,7 +152,6 @@ class AuthenticateOIDCTests(utils.TestCase): | ||||
|  | ||||
|     def test_second_call_to_protected_url(self): | ||||
|         """Test subsequent call, expect Keystone token.""" | ||||
|  | ||||
|         # Mock the output that creates the keystone token | ||||
|         self.requests_mock.post( | ||||
|             self.FEDERATION_AUTH_URL, | ||||
| @@ -176,7 +173,6 @@ class AuthenticateOIDCTests(utils.TestCase): | ||||
|  | ||||
|     def test_end_to_end_workflow(self): | ||||
|         """Test full OpenID Connect workflow.""" | ||||
|  | ||||
|         # Mock the output that creates the access token | ||||
|         self.requests_mock.post( | ||||
|             self.ACCESS_TOKEN_ENDPOINT, | ||||
|   | ||||
| @@ -493,7 +493,6 @@ class AuthenticateviaADFSTests(utils.TestCase): | ||||
|  | ||||
|     def test_get_adfs_security_token(self): | ||||
|         """Test ADFSUnscopedToken._get_adfs_security_token().""" | ||||
|  | ||||
|         self.requests_mock.post( | ||||
|             self.IDENTITY_PROVIDER_URL, | ||||
|             content=make_oneline(self.ADFS_SECURITY_TOKEN_RESPONSE), | ||||
| @@ -672,7 +671,6 @@ class SAMLGenerationTests(utils.ClientTestCase): | ||||
|  | ||||
|     def test_saml_create(self): | ||||
|         """Test that a token can be exchanged for a SAML assertion.""" | ||||
|  | ||||
|         token_id = uuid.uuid4().hex | ||||
|         service_provider_id = uuid.uuid4().hex | ||||
|  | ||||
| @@ -695,7 +693,6 @@ class SAMLGenerationTests(utils.ClientTestCase): | ||||
|  | ||||
|     def test_ecp_create(self): | ||||
|         """Test that a token can be exchanged for an ECP wrapped assertion.""" | ||||
|  | ||||
|         token_id = uuid.uuid4().hex | ||||
|         service_provider_id = uuid.uuid4().hex | ||||
|  | ||||
|   | ||||
| @@ -98,7 +98,6 @@ class TokenTests(object): | ||||
|         Assert that the data in the headers matches the data | ||||
|         that is produced from oauthlib. | ||||
|         """ | ||||
|  | ||||
|         self.assertThat(auth_header, matchers.StartsWith('OAuth ')) | ||||
|         parameters = dict( | ||||
|             oauth1.rfc5849.utils.parse_authorization_header(auth_header)) | ||||
|   | ||||
| @@ -131,7 +131,6 @@ class ProjectTests(utils.ClientTestCase, utils.CrudTests): | ||||
|         :returns: a list of the projects in the created hierarchy. | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         ref = self.new_ref() | ||||
|         project_id = ref['id'] | ||||
|         projects = [ref] | ||||
|   | ||||
| @@ -29,7 +29,6 @@ logger = logging.getLogger(__name__) | ||||
|  | ||||
| def find_resource(manager, name_or_id): | ||||
|     """Helper for the _find_* methods.""" | ||||
|  | ||||
|     # first try the entity as a string | ||||
|     try: | ||||
|         return manager.get(name_or_id) | ||||
| @@ -128,7 +127,6 @@ _ISO8601_TIME_FORMAT = '%Y-%m-%dT%H:%M:%S' | ||||
|  | ||||
| def isotime(at=None, subsecond=False): | ||||
|     """Stringify time in ISO 8601 format.""" | ||||
|  | ||||
|     # Python provides a similar instance method for datetime.datetime objects | ||||
|     # called isoformat(). The format of the strings generated by isoformat() | ||||
|     # have a couple of problems: | ||||
| @@ -140,7 +138,6 @@ def isotime(at=None, subsecond=False): | ||||
|     #    the value happens to be 0. This will likely show up as random failures | ||||
|     #    as parsers may be written to always expect microseconds, and it will | ||||
|     #    parse correctly most of the time. | ||||
|  | ||||
|     if not at: | ||||
|         at = timeutils.utcnow() | ||||
|     st = at.strftime(_ISO8601_TIME_FORMAT | ||||
|   | ||||
| @@ -25,7 +25,6 @@ class CertificatesManager(object): | ||||
|         :rtype: str | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         resp, body = self._client.get('/certificates/ca', authenticated=False) | ||||
|         return resp.text | ||||
|  | ||||
| @@ -36,7 +35,6 @@ class CertificatesManager(object): | ||||
|         :rtype: str | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         resp, body = self._client.get('/certificates/signing', | ||||
|                                       authenticated=False) | ||||
|         return resp.text | ||||
|   | ||||
| @@ -147,7 +147,6 @@ class Client(httpclient.HTTPClient): | ||||
|  | ||||
|     def __init__(self, **kwargs): | ||||
|         """Initialize a new client for the Keystone v2.0 API.""" | ||||
|  | ||||
|         if not kwargs.get('session'): | ||||
|             warnings.warn( | ||||
|                 'Constructing an instance of the ' | ||||
|   | ||||
| @@ -32,7 +32,6 @@ class CredentialsManager(base.ManagerWithFind): | ||||
|  | ||||
|         :rtype: object of type :class:`EC2` | ||||
|         """ | ||||
|  | ||||
|         params = {'tenant_id': tenant_id} | ||||
|  | ||||
|         return self._post('/users/%s/credentials/OS-EC2' % user_id, | ||||
|   | ||||
| @@ -107,7 +107,6 @@ class TenantManager(base.ManagerWithFind): | ||||
|         :rtype: list of :class:`Tenant` | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         params = {} | ||||
|         if limit: | ||||
|             params['limit'] = limit | ||||
|   | ||||
| @@ -106,7 +106,6 @@ class TokenManager(base.Manager): | ||||
|         :rtype: :py:class:`keystoneclient.access.AccessInfoV2` | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         def calc_id(token): | ||||
|             if isinstance(token, access.AccessInfo): | ||||
|                 return token.auth_token | ||||
|   | ||||
| @@ -113,7 +113,6 @@ class UserManager(base.ManagerWithFind): | ||||
|  | ||||
|         :rtype: list of :class:`User` | ||||
|         """ | ||||
|  | ||||
|         params = {} | ||||
|         if limit: | ||||
|             params['limit'] = int(limit) | ||||
|   | ||||
| @@ -37,7 +37,6 @@ class ProtocolManager(base.CrudManager): | ||||
|  | ||||
|     def build_url(self, dict_args_in_out=None): | ||||
|         """Build URL for federation protocols.""" | ||||
|  | ||||
|         if dict_args_in_out is None: | ||||
|             dict_args_in_out = {} | ||||
|  | ||||
|   | ||||
| @@ -34,7 +34,6 @@ class SamlManager(base.Manager): | ||||
|         :returns: SAML representation of token_id | ||||
|         :rtype: string | ||||
|         """ | ||||
|  | ||||
|         headers, body = self._create_common_request(service_provider, token_id) | ||||
|         resp, body = self.client.post(SAML2_ENDPOINT, json=body, | ||||
|                                       headers=headers) | ||||
| @@ -54,7 +53,6 @@ class SamlManager(base.Manager): | ||||
|         :returns: SAML representation of token_id, wrapped in ECP envelope | ||||
|         :rtype: string | ||||
|         """ | ||||
|  | ||||
|         headers, body = self._create_common_request(service_provider, token_id) | ||||
|         resp, body = self.client.post(ECP_ENDPOINT, json=body, | ||||
|                                       headers=headers) | ||||
|   | ||||
| @@ -51,7 +51,6 @@ class RequestTokenManager(base.CrudManager): | ||||
|             can be exchanged for an access token. | ||||
|         :param roles: a list of roles, that will be delegated to the user. | ||||
|         """ | ||||
|  | ||||
|         request_id = urlparse.quote(base.getid(request_token)) | ||||
|         endpoint = utils.OAUTH_PATH + '/authorize/%s' % (request_id) | ||||
|         body = {'roles': [{'id': base.getid(r_id)} for r_id in roles]} | ||||
|   | ||||
| @@ -25,7 +25,6 @@ def get_oauth_token_from_body(body): | ||||
|     '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') | ||||
|  | ||||
|   | ||||
| @@ -25,7 +25,6 @@ class SimpleCertManager(object): | ||||
|         :rtype: str | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         resp, body = self._client.get('/OS-SIMPLE-CERT/ca', | ||||
|                                       authenticated=False) | ||||
|         return resp.text | ||||
| @@ -37,7 +36,6 @@ class SimpleCertManager(object): | ||||
|         :rtype: str | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         resp, body = self._client.get('/OS-SIMPLE-CERT/certificates', | ||||
|                                       authenticated=False) | ||||
|         return resp.text | ||||
|   | ||||
| @@ -136,6 +136,5 @@ class CredentialManager(base.CrudManager): | ||||
|         :type credential: :class:`Credential` or str | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         return super(CredentialManager, self).delete( | ||||
|             credential_id=base.getid(credential)) | ||||
|   | ||||
| @@ -28,7 +28,6 @@ class EC2Manager(base.ManagerWithFind): | ||||
|  | ||||
|         :rtype: object of type :class:`EC2` | ||||
|         """ | ||||
|  | ||||
|         # NOTE(jamielennox): Yes, this uses tenant_id as a key even though we | ||||
|         # are in the v3 API. | ||||
|         return self._post('/users/%s/credentials/OS-EC2' % user_id, | ||||
|   | ||||
| @@ -76,7 +76,6 @@ class ProjectManager(base.CrudManager): | ||||
|         :param parent: the project's parent in the hierarchy. (optional) | ||||
|         :type parent: :py:class:`keystoneclient.v3.projects.Project` or str | ||||
|         """ | ||||
|  | ||||
|         # NOTE(rodrigods): the API must be backwards compatible, so if an | ||||
|         # application was passing a 'parent_id' before as kwargs, the call | ||||
|         # should not fail. If both 'parent' and 'parent_id' are provided, | ||||
|   | ||||
| @@ -74,7 +74,6 @@ class RoleAssignmentManager(base.CrudManager): | ||||
|         :param boolean include_names: Display names instead | ||||
|                                       of IDs. (optional) | ||||
|         """ | ||||
|  | ||||
|         self._check_not_user_and_group(user, group) | ||||
|         self._check_not_domain_and_project(domain, project) | ||||
|  | ||||
|   | ||||
| @@ -154,7 +154,6 @@ class RoleManager(base.CrudManager): | ||||
|         used. It provides the ability for projects to inherit role assignments | ||||
|         from their domains or from projects in the hierarchy. | ||||
|         """ | ||||
|  | ||||
|         if os_inherit_extension_inherited: | ||||
|             kwargs['tail'] = '/inherited_to_projects' | ||||
|         if user or group: | ||||
|   | ||||
| @@ -36,7 +36,6 @@ class TokenManager(object): | ||||
|                       :py:class:`keystoneclient.access.AccessInfo` or a string | ||||
|                       token_id. | ||||
|         """ | ||||
|  | ||||
|         token_id = _calc_id(token) | ||||
|         headers = {'X-Subject-Token': token_id} | ||||
|         return self._client.delete('/auth/tokens', headers=headers) | ||||
| @@ -92,7 +91,6 @@ class TokenManager(object): | ||||
|         :rtype: :py:class:`keystoneclient.access.AccessInfoV3` | ||||
|  | ||||
|         """ | ||||
|  | ||||
|         token_id = _calc_id(token) | ||||
|         body = self.get_token_data(token_id, include_catalog=include_catalog) | ||||
|         return access.AccessInfo.factory(auth_token=token_id, body=body) | ||||
|   | ||||
							
								
								
									
										4
									
								
								tox.ini
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								tox.ini
									
									
									
									
									
								
							| @@ -47,9 +47,7 @@ passenv = OS_* | ||||
| # D104: Missing docstring in public package | ||||
| # D105: Missing docstring in magic method | ||||
| # D200: One-line docstring should fit on one line with quotes | ||||
| # D202: No blank lines allowed after function docstring | ||||
| # D203: 1 blank required before class docstring. | ||||
| ignore = D100,D101,D102,D103,D104,D105,D200,D202,D203 | ||||
| ignore = D100,D101,D102,D103,D104,D105,D200 | ||||
| show-source = True | ||||
| exclude = .venv,.tox,dist,doc,*egg,build,*openstack/common* | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Navid Pustchi
					Navid Pustchi