summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-10-24 05:37:40 +0000
committerGerrit Code Review <review@openstack.org>2012-10-24 05:37:40 +0000
commit6ff213d952d0efa93304de71c4604d42457da653 (patch)
tree1d17b82b8f47c722791ffd2d0c8ff8c78b621063
parentbfd61949bdd75d3f373d77d86ac89085a220f0d0 (diff)
parent28fb9e73eb77d09f542dfefbf063fe2065273ce3 (diff)
Merge "move filter_user function to keystone.identity.core"
-rw-r--r--keystone/identity/backends/kvs.py15
-rw-r--r--keystone/identity/backends/ldap/core.py15
-rw-r--r--keystone/identity/backends/sql.py17
-rw-r--r--keystone/identity/core.py13
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.