From 28fb9e73eb77d09f542dfefbf063fe2065273ce3 Mon Sep 17 00:00:00 2001 From: Ionuț Arțăriși Date: Tue, 16 Oct 2012 14:45:44 +0200 Subject: move filter_user function to keystone.identity.core Change-Id: Idf0e1d27fc0b79d9125f780e4295b5c20a535dec --- keystone/identity/backends/kvs.py | 15 ++++----------- keystone/identity/backends/ldap/core.py | 15 +++++---------- keystone/identity/backends/sql.py | 17 ++++++----------- 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 f8d836ac..bf4eda14 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 e0297432..d5acc16c 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. -- cgit