diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-10-24 05:37:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-10-24 05:37:40 +0000 |
| commit | 6ff213d952d0efa93304de71c4604d42457da653 (patch) | |
| tree | 1d17b82b8f47c722791ffd2d0c8ff8c78b621063 | |
| parent | bfd61949bdd75d3f373d77d86ac89085a220f0d0 (diff) | |
| parent | 28fb9e73eb77d09f542dfefbf063fe2065273ce3 (diff) | |
Merge "move filter_user function to keystone.identity.core"
| -rw-r--r-- | keystone/identity/backends/kvs.py | 15 | ||||
| -rw-r--r-- | keystone/identity/backends/ldap/core.py | 15 | ||||
| -rw-r--r-- | keystone/identity/backends/sql.py | 17 | ||||
| -rw-r--r-- | keystone/identity/core.py | 13 |
4 files changed, 28 insertions, 32 deletions
diff --git a/keystone/identity/backends/kvs.py b/keystone/identity/backends/kvs.py index ad6ca0f1..c3ba2e5b 100644 --- a/keystone/identity/backends/kvs.py +++ b/keystone/identity/backends/kvs.py @@ -19,14 +19,7 @@ from keystone.common import kvs from keystone.common import utils from keystone import exception from keystone import identity - - -def _filter_user(user_ref): - if user_ref: - user_ref = user_ref.copy() - user_ref.pop('password', None) - user_ref.pop('tenants', None) - return user_ref +from keystone.identity import filter_user def _ensure_hashed_password(user_ref): @@ -70,7 +63,7 @@ class Identity(kvs.Base, identity.Driver): except exception.MetadataNotFound: metadata_ref = {} - return (_filter_user(user_ref), tenant_ref, metadata_ref) + return (filter_user(user_ref), tenant_ref, metadata_ref) def get_tenant(self, tenant_id): try: @@ -107,10 +100,10 @@ class Identity(kvs.Base, identity.Driver): raise exception.UserNotFound(user_id=user_name) def get_user(self, user_id): - return _filter_user(self._get_user(user_id)) + return filter_user(self._get_user(user_id)) def get_user_by_name(self, user_name): - return _filter_user(self._get_user_by_name(user_name)) + return filter_user(self._get_user_by_name(user_name)) def get_metadata(self, user_id, tenant_id): try: diff --git a/keystone/identity/backends/ldap/core.py b/keystone/identity/backends/ldap/core.py index 540679c0..317ecb33 100644 --- a/keystone/identity/backends/ldap/core.py +++ b/keystone/identity/backends/ldap/core.py @@ -22,22 +22,17 @@ from ldap import filter as ldap_filter from keystone import clean from keystone.common import ldap as common_ldap from keystone.common.ldap import fakeldap +from keystone.common import models from keystone.common import utils from keystone import config from keystone import exception from keystone import identity -from keystone.common import models +from keystone.identity import filter_user CONF = config.CONF -def _filter_user(user_ref): - if user_ref: - user_ref.pop('password', None) - return user_ref - - def _ensure_hashed_password(user_ref): pw = user_ref.get('password', None) if pw is not None: @@ -108,7 +103,7 @@ class Identity(identity.Driver): except exception.MetadataNotFound: metadata_ref = {} - return (_filter_user(user_ref), tenant_ref, metadata_ref) + return (filter_user(user_ref), tenant_ref, metadata_ref) def get_tenant(self, tenant_id): try: @@ -132,14 +127,14 @@ class Identity(identity.Driver): raise exception.UserNotFound(user_id=user_id) def get_user(self, user_id): - return _filter_user(self._get_user(user_id)) + return filter_user(self._get_user(user_id)) def list_users(self): return self.user.get_all() def get_user_by_name(self, user_name): try: - return _filter_user(self.user.get_by_name(user_name)) + return filter_user(self.user.get_by_name(user_name)) except exception.NotFound: raise exception.UserNotFound(user_id=user_name) diff --git a/keystone/identity/backends/sql.py b/keystone/identity/backends/sql.py index 7387fdf2..7a2abf59 100644 --- a/keystone/identity/backends/sql.py +++ b/keystone/identity/backends/sql.py @@ -23,12 +23,7 @@ from keystone.common.sql import migration from keystone.common import utils from keystone import exception from keystone import identity - - -def _filter_user(user_ref): - if user_ref: - user_ref.pop('password', None) - return user_ref +from keystone.identity import filter_user def _ensure_hashed_password(user_ref): @@ -182,7 +177,7 @@ class Identity(sql.Base, identity.Driver): except exception.MetadataNotFound: metadata_ref = {} - return (_filter_user(user_ref), tenant_ref, metadata_ref) + return (filter_user(user_ref), tenant_ref, metadata_ref) def get_tenant(self, tenant_id): session = self.get_session() @@ -205,7 +200,7 @@ class Identity(sql.Base, identity.Driver): query = query.join(UserTenantMembership) query = query.filter(UserTenantMembership.tenant_id == tenant_id) user_refs = query.all() - return [_filter_user(user_ref.to_dict()) for user_ref in user_refs] + return [filter_user(user_ref.to_dict()) for user_ref in user_refs] def _get_user(self, user_id): session = self.get_session() @@ -222,10 +217,10 @@ class Identity(sql.Base, identity.Driver): return user_ref.to_dict() def get_user(self, user_id): - return _filter_user(self._get_user(user_id)) + return filter_user(self._get_user(user_id)) def get_user_by_name(self, user_name): - return _filter_user(self._get_user_by_name(user_name)) + return filter_user(self._get_user_by_name(user_name)) def get_metadata(self, user_id, tenant_id): session = self.get_session() @@ -247,7 +242,7 @@ class Identity(sql.Base, identity.Driver): def list_users(self): session = self.get_session() user_refs = session.query(User) - return [_filter_user(x.to_dict()) for x in user_refs] + return [filter_user(x.to_dict()) for x in user_refs] def list_roles(self): session = self.get_session() diff --git a/keystone/identity/core.py b/keystone/identity/core.py index 08f599f9..3b4b3c8d 100644 --- a/keystone/identity/core.py +++ b/keystone/identity/core.py @@ -34,6 +34,19 @@ CONF = config.CONF LOG = logging.getLogger(__name__) +def filter_user(user_ref): + """Filter out private items in a user dict ('password' and 'tenants') + + :returns: user_ref + + """ + if user_ref: + user_ref = user_ref.copy() + user_ref.pop('password', None) + user_ref.pop('tenants', None) + return user_ref + + class Manager(manager.Manager): """Default pivot point for the Identity backend. |
