From 4a43aa02b86e3203bb6614382ef598926a1464cb Mon Sep 17 00:00:00 2001 From: Morgan Fainberg Date: Mon, 7 Aug 2017 13:13:31 -0700 Subject: Remove use of positional decorator The positional decorator results in poorly maintainable code in a misguided effort to emulate python3's key-word-arg only notation and functionality. This patch removes keystoneclient's dependance on the positional decorator. Change-Id: I9e691cc8b0c04992f4a8dabd67e1b413d3220d23 --- keystoneclient/v3/contrib/federation/identity_providers.py | 3 --- keystoneclient/v3/contrib/federation/mappings.py | 3 --- keystoneclient/v3/contrib/federation/protocols.py | 3 --- keystoneclient/v3/contrib/federation/service_providers.py | 3 --- keystoneclient/v3/credentials.py | 4 ---- keystoneclient/v3/domains.py | 4 ---- keystoneclient/v3/endpoints.py | 5 ----- keystoneclient/v3/groups.py | 6 ------ keystoneclient/v3/policies.py | 5 ----- keystoneclient/v3/projects.py | 7 ------- keystoneclient/v3/roles.py | 7 ------- keystoneclient/v3/services.py | 5 ----- keystoneclient/v3/tokens.py | 5 ----- keystoneclient/v3/users.py | 4 ---- 14 files changed, 64 deletions(-) (limited to 'keystoneclient/v3') diff --git a/keystoneclient/v3/contrib/federation/identity_providers.py b/keystoneclient/v3/contrib/federation/identity_providers.py index 4675ca3..8e009b9 100644 --- a/keystoneclient/v3/contrib/federation/identity_providers.py +++ b/keystoneclient/v3/contrib/federation/identity_providers.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -40,7 +38,6 @@ class IdentityProviderManager(base.CrudManager): return self._update(url, body=body, response_key=self.key, method='PUT') - @positional.method(0) def create(self, id, **kwargs): """Create Identity Provider object. diff --git a/keystoneclient/v3/contrib/federation/mappings.py b/keystoneclient/v3/contrib/federation/mappings.py index 24a9c7f..a0e54ae 100644 --- a/keystoneclient/v3/contrib/federation/mappings.py +++ b/keystoneclient/v3/contrib/federation/mappings.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -41,7 +39,6 @@ class MappingManager(base.CrudManager): response_key=self.key, method='PUT') - @positional.method(0) def create(self, mapping_id, **kwargs): """Create federation mapping. diff --git a/keystoneclient/v3/contrib/federation/protocols.py b/keystoneclient/v3/contrib/federation/protocols.py index 34daf0f..4fad689 100644 --- a/keystoneclient/v3/contrib/federation/protocols.py +++ b/keystoneclient/v3/contrib/federation/protocols.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -57,7 +55,6 @@ class ProtocolManager(base.CrudManager): response_key=self.key, method='PUT') - @positional.method(3) def create(self, protocol_id, identity_provider, mapping, **kwargs): """Create federation protocol object and tie to the Identity Provider. diff --git a/keystoneclient/v3/contrib/federation/service_providers.py b/keystoneclient/v3/contrib/federation/service_providers.py index f731c39..fed1257 100644 --- a/keystoneclient/v3/contrib/federation/service_providers.py +++ b/keystoneclient/v3/contrib/federation/service_providers.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -42,7 +40,6 @@ class ServiceProviderManager(base.CrudManager): return self._update(url, body=body, response_key=self.key, method='PUT') - @positional.method(0) def create(self, id, **kwargs): """Create Service Provider object. diff --git a/keystoneclient/v3/credentials.py b/keystoneclient/v3/credentials.py index 80eb38b..70e0670 100644 --- a/keystoneclient/v3/credentials.py +++ b/keystoneclient/v3/credentials.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -41,7 +39,6 @@ class CredentialManager(base.CrudManager): collection_key = 'credentials' key = 'credential' - @positional(1, enforcement=positional.WARN) def create(self, user, type, blob, project=None, **kwargs): """Create a credential. @@ -95,7 +92,6 @@ class CredentialManager(base.CrudManager): """ return super(CredentialManager, self).list(**kwargs) - @positional(2, enforcement=positional.WARN) def update(self, credential, user, type=None, blob=None, project=None, **kwargs): """Update a credential. diff --git a/keystoneclient/v3/domains.py b/keystoneclient/v3/domains.py index a790558..221b50f 100644 --- a/keystoneclient/v3/domains.py +++ b/keystoneclient/v3/domains.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -40,7 +38,6 @@ class DomainManager(base.CrudManager): collection_key = 'domains' key = 'domain' - @positional(1, enforcement=positional.WARN) def create(self, name, description=None, enabled=True, **kwargs): """Create a domain. @@ -89,7 +86,6 @@ class DomainManager(base.CrudManager): kwargs['enabled'] = 0 return super(DomainManager, self).list(**kwargs) - @positional(enforcement=positional.WARN) def update(self, domain, name=None, description=None, enabled=None, **kwargs): """Update a domain. diff --git a/keystoneclient/v3/endpoints.py b/keystoneclient/v3/endpoints.py index bc8ccb6..0452394 100644 --- a/keystoneclient/v3/endpoints.py +++ b/keystoneclient/v3/endpoints.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base from keystoneclient import exceptions from keystoneclient.i18n import _ @@ -54,7 +52,6 @@ class EndpointManager(base.CrudManager): msg %= ', '.join(VALID_INTERFACES) raise exceptions.ValidationError(msg) - @positional(1, enforcement=positional.WARN) def create(self, service, url, interface=None, region=None, enabled=True, **kwargs): """Create an endpoint. @@ -97,7 +94,6 @@ class EndpointManager(base.CrudManager): return super(EndpointManager, self).get( endpoint_id=base.getid(endpoint)) - @positional(enforcement=positional.WARN) def list(self, service=None, interface=None, region=None, enabled=None, region_id=None, **kwargs): """List endpoints. @@ -128,7 +124,6 @@ class EndpointManager(base.CrudManager): enabled=enabled, **kwargs) - @positional(enforcement=positional.WARN) def update(self, endpoint, service=None, url=None, interface=None, region=None, enabled=None, **kwargs): """Update an endpoint. diff --git a/keystoneclient/v3/groups.py b/keystoneclient/v3/groups.py index 2eec324..843ad00 100644 --- a/keystoneclient/v3/groups.py +++ b/keystoneclient/v3/groups.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -29,7 +27,6 @@ class Group(base.Resource): """ - @positional(enforcement=positional.WARN) def update(self, name=None, description=None): kwargs = { 'name': name if name is not None else self.name, @@ -54,7 +51,6 @@ class GroupManager(base.CrudManager): collection_key = 'groups' key = 'group' - @positional(1, enforcement=positional.WARN) def create(self, name, domain=None, description=None, **kwargs): """Create a group. @@ -75,7 +71,6 @@ class GroupManager(base.CrudManager): description=description, **kwargs) - @positional(enforcement=positional.WARN) def list(self, user=None, domain=None, **kwargs): """List groups. @@ -111,7 +106,6 @@ class GroupManager(base.CrudManager): return super(GroupManager, self).get( group_id=base.getid(group)) - @positional(enforcement=positional.WARN) def update(self, group, name=None, description=None, **kwargs): """Update a group. diff --git a/keystoneclient/v3/policies.py b/keystoneclient/v3/policies.py index a9be680..253d1b1 100644 --- a/keystoneclient/v3/policies.py +++ b/keystoneclient/v3/policies.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -29,7 +27,6 @@ class Policy(base.Resource): """ - @positional(enforcement=positional.WARN) def update(self, blob=None, type=None): kwargs = { 'blob': blob if blob is not None else self.blob, @@ -52,7 +49,6 @@ class PolicyManager(base.CrudManager): collection_key = 'policies' key = 'policy' - @positional(1, enforcement=positional.WARN) def create(self, blob, type='application/json', **kwargs): """Create a policy. @@ -95,7 +91,6 @@ class PolicyManager(base.CrudManager): """ return super(PolicyManager, self).list(**kwargs) - @positional(enforcement=positional.WARN) def update(self, policy, blob=None, type=None, **kwargs): """Update a policy. diff --git a/keystoneclient/v3/projects.py b/keystoneclient/v3/projects.py index 81dcf8d..3b2c4d8 100644 --- a/keystoneclient/v3/projects.py +++ b/keystoneclient/v3/projects.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base from keystoneclient import exceptions from keystoneclient.i18n import _ @@ -37,7 +35,6 @@ class Project(base.Resource): """ - @positional(enforcement=positional.WARN) def update(self, name=None, description=None, enabled=None): kwargs = { 'name': name if name is not None else self.name, @@ -63,7 +60,6 @@ class ProjectManager(base.CrudManager): collection_key = 'projects' key = 'project' - @positional(3, enforcement=positional.WARN) def create(self, name, domain, description=None, enabled=True, parent=None, **kwargs): """Create a project. @@ -96,7 +92,6 @@ class ProjectManager(base.CrudManager): enabled=enabled, **kwargs) - @positional(enforcement=positional.WARN) def list(self, domain=None, user=None, **kwargs): """List projects. @@ -132,7 +127,6 @@ class ProjectManager(base.CrudManager): 'parameters, not both') raise exceptions.ValidationError(msg) - @positional() def get(self, project, subtree_as_list=False, parents_as_list=False, subtree_as_ids=False, parents_as_ids=False): """Retrieve a project. @@ -182,7 +176,6 @@ class ProjectManager(base.CrudManager): url = self.build_url(dict_args_in_out=dict_args) return self._get(url + query, self.key) - @positional(enforcement=positional.WARN) def update(self, project, name=None, domain=None, description=None, enabled=None, **kwargs): """Update a project. diff --git a/keystoneclient/v3/roles.py b/keystoneclient/v3/roles.py index d5439ff..ce0cfe8 100644 --- a/keystoneclient/v3/roles.py +++ b/keystoneclient/v3/roles.py @@ -15,7 +15,6 @@ # under the License. from debtcollector import removals -from positional import positional from keystoneclient import base from keystoneclient import exceptions @@ -96,7 +95,6 @@ class RoleManager(base.CrudManager): msg = _('Must specify either a user or group') raise exceptions.ValidationError(msg) - @positional(1, enforcement=positional.WARN) def create(self, name, domain=None, **kwargs): """Create a role. @@ -132,7 +130,6 @@ class RoleManager(base.CrudManager): """ return super(RoleManager, self).get(role_id=base.getid(role)) - @positional(enforcement=positional.WARN) def list(self, user=None, group=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs): """List roles and role grants. @@ -178,7 +175,6 @@ class RoleManager(base.CrudManager): return super(RoleManager, self).list(**kwargs) - @positional(enforcement=positional.WARN) def update(self, role, name=None, **kwargs): """Update a role. @@ -212,7 +208,6 @@ class RoleManager(base.CrudManager): return super(RoleManager, self).delete( role_id=base.getid(role)) - @positional(enforcement=positional.WARN) def grant(self, role, user=None, group=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs): """Grant a role to a user or group on a domain or project. @@ -259,7 +254,6 @@ class RoleManager(base.CrudManager): role_id=base.getid(role), **kwargs) - @positional(enforcement=positional.WARN) def check(self, role, user=None, group=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs): """Check if a user or group has a role on a domain or project. @@ -310,7 +304,6 @@ class RoleManager(base.CrudManager): os_inherit_extension_inherited=os_inherit_extension_inherited, **kwargs) - @positional(enforcement=positional.WARN) def revoke(self, role, user=None, group=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs): """Revoke a role from a user or group on a domain or project. diff --git a/keystoneclient/v3/services.py b/keystoneclient/v3/services.py index d38e2d4..631940e 100644 --- a/keystoneclient/v3/services.py +++ b/keystoneclient/v3/services.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import base @@ -41,7 +39,6 @@ class ServiceManager(base.CrudManager): collection_key = 'services' key = 'service' - @positional(1, enforcement=positional.WARN) def create(self, name, type=None, enabled=True, description=None, **kwargs): """Create a service. @@ -78,7 +75,6 @@ class ServiceManager(base.CrudManager): return super(ServiceManager, self).get( service_id=base.getid(service)) - @positional(enforcement=positional.WARN) def list(self, name=None, type=None, **kwargs): """List services. @@ -96,7 +92,6 @@ class ServiceManager(base.CrudManager): type=type_arg, **kwargs) - @positional(enforcement=positional.WARN) def update(self, service, name=None, type=None, enabled=None, description=None, **kwargs): """Update a service. diff --git a/keystoneclient/v3/tokens.py b/keystoneclient/v3/tokens.py index 77f6045..6e6fffd 100644 --- a/keystoneclient/v3/tokens.py +++ b/keystoneclient/v3/tokens.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from positional import positional - from keystoneclient import access from keystoneclient import base @@ -40,7 +38,6 @@ class TokenManager(object): headers = {'X-Subject-Token': token_id} return self._client.delete('/auth/tokens', headers=headers) - @positional.method(0) def get_revoked(self, audit_id_only=False): """Get revoked tokens list. @@ -60,7 +57,6 @@ class TokenManager(object): resp, body = self._client.get(path) return body - @positional.method(1) def get_token_data(self, token, include_catalog=True, allow_expired=False): """Fetch the data about a token from the identity server. @@ -89,7 +85,6 @@ class TokenManager(object): resp, body = self._client.get(url, headers=headers) return body - @positional.method(1) def validate(self, token, include_catalog=True, allow_expired=False): """Validate a token. diff --git a/keystoneclient/v3/users.py b/keystoneclient/v3/users.py index 31cad39..90cd51c 100644 --- a/keystoneclient/v3/users.py +++ b/keystoneclient/v3/users.py @@ -15,7 +15,6 @@ # under the License. from debtcollector import renames -from positional import positional from keystoneclient import base from keystoneclient import exceptions @@ -47,7 +46,6 @@ class UserManager(base.CrudManager): @renames.renamed_kwarg('project', 'default_project', version='1.7.0', removal_version='2.0.0') - @positional(1, enforcement=positional.WARN) def create(self, name, domain=None, project=None, password=None, email=None, description=None, enabled=True, default_project=None, **kwargs): @@ -96,7 +94,6 @@ class UserManager(base.CrudManager): @renames.renamed_kwarg('project', 'default_project', version='1.7.0', removal_version='2.0.0') - @positional(enforcement=positional.WARN) def list(self, project=None, domain=None, group=None, default_project=None, **kwargs): """List users. @@ -153,7 +150,6 @@ class UserManager(base.CrudManager): @renames.renamed_kwarg('project', 'default_project', version='1.7.0', removal_version='2.0.0') - @positional(enforcement=positional.WARN) def update(self, user, name=None, domain=None, project=None, password=None, email=None, description=None, enabled=None, default_project=None, **kwargs): -- cgit v1.2.1