mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Combine get_user/group by dn/cn into get_entry_by_cn/dn.
Also a couple double-escaping fixes I missed in the last patch.
This commit is contained in:
@@ -26,6 +26,7 @@ if "/usr/share/ipa" not in sys.path:
|
||||
|
||||
from ipaserver import funcs
|
||||
import ipa.rpcclient as rpcclient
|
||||
import entity
|
||||
import user
|
||||
import group
|
||||
import ipa
|
||||
@@ -53,6 +54,22 @@ class IPAClient:
|
||||
if self.local:
|
||||
self.transport.set_krbccache(krbccache)
|
||||
|
||||
# General searches
|
||||
|
||||
def get_entry_by_dn(self,dn,sattrs=None):
|
||||
"""Get a specific entry by dn. If sattrs is set then only those
|
||||
attributes will be returned, otherwise all available attributes
|
||||
are returned."""
|
||||
result = self.transport.get_entry_by_dn(dn,sattrs)
|
||||
return entity.Entity(result)
|
||||
|
||||
def get_entry_by_cn(self,cn,sattrs=None):
|
||||
"""Get a specific entry by cn. If sattrs is set then only those
|
||||
attributes will be returned, otherwise all available attributes
|
||||
are returned."""
|
||||
result = self.transport.get_entry_by_cn(cn,sattrs)
|
||||
return entity.Entity(result)
|
||||
|
||||
# User support
|
||||
def get_user_by_uid(self,uid,sattrs=None):
|
||||
"""Get a specific user by uid. If sattrs is set then only those
|
||||
@@ -61,13 +78,6 @@ class IPAClient:
|
||||
result = self.transport.get_user_by_uid(uid,sattrs)
|
||||
return user.User(result)
|
||||
|
||||
def get_user_by_dn(self,dn,sattrs=None):
|
||||
"""Get a specific user by dn. If sattrs is set then only those
|
||||
attributes will be returned, otherwise all available attributes
|
||||
are returned."""
|
||||
result = self.transport.get_user_by_dn(dn,sattrs)
|
||||
return user.User(result)
|
||||
|
||||
def get_user_by_principal(self,principal,sattrs=None):
|
||||
"""Get a specific user by uid. If sattrs is set then only those
|
||||
attributes will be returned, otherwise all available attributes
|
||||
@@ -154,20 +164,6 @@ class IPAClient:
|
||||
|
||||
# Groups support
|
||||
|
||||
def get_group_by_cn(self,cn,sattrs=None):
|
||||
"""Get a specific group by cn. If sattrs is set then only those
|
||||
attributes will be returned, otherwise all available attributes
|
||||
are returned."""
|
||||
result = self.transport.get_group_by_cn(cn,sattrs)
|
||||
return group.Group(result)
|
||||
|
||||
def get_group_by_dn(self,dn,sattrs=None):
|
||||
"""Get a specific group by cn. If sattrs is set then only those
|
||||
attributes will be returned, otherwise all available attributes
|
||||
are returned."""
|
||||
result = self.transport.get_group_by_dn(dn,sattrs)
|
||||
return group.Group(result)
|
||||
|
||||
def get_groups_by_member(self,member_dn,sattrs=None):
|
||||
"""Gets the groups that member_dn belongs to.
|
||||
If sattrs is not None then only those
|
||||
|
||||
@@ -66,7 +66,42 @@ class RPCClient:
|
||||
obj[k] = ent[k]
|
||||
|
||||
return obj
|
||||
|
||||
|
||||
# General searches
|
||||
|
||||
def get_entry_by_dn(self,dn,sattrs=None):
|
||||
"""Get a specific entry. If sattrs is not None then only those
|
||||
attributes will be returned, otherwise all available
|
||||
attributes are returned. The result is a dict."""
|
||||
server = self.setup_server()
|
||||
if sattrs is None:
|
||||
sattrs = "__NONE__"
|
||||
try:
|
||||
result = server.get_entry_by_dn(dn, sattrs)
|
||||
except xmlrpclib.Fault, fault:
|
||||
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
|
||||
except socket.error, (value, msg):
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
def get_entry_by_cn(self,cn,sattrs=None):
|
||||
"""Get a specific entry by cn. If sattrs is not None then only those
|
||||
attributes will be returned, otherwise all available
|
||||
attributes are returned. The result is a dict."""
|
||||
server = self.setup_server()
|
||||
if sattrs is None:
|
||||
sattrs = "__NONE__"
|
||||
try:
|
||||
result = server.get_entry_by_cn(cn, sattrs)
|
||||
except xmlrpclib.Fault, fault:
|
||||
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
|
||||
except socket.error, (value, msg):
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
|
||||
# User support
|
||||
|
||||
def get_user_by_uid(self,uid,sattrs=None):
|
||||
@@ -84,22 +119,6 @@ class RPCClient:
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
def get_user_by_dn(self,dn,sattrs=None):
|
||||
"""Get a specific user. If sattrs is not None then only those
|
||||
attributes will be returned, otherwise all available
|
||||
attributes are returned. The result is a dict."""
|
||||
server = self.setup_server()
|
||||
if sattrs is None:
|
||||
sattrs = "__NONE__"
|
||||
try:
|
||||
result = server.get_user_by_dn(dn, sattrs)
|
||||
except xmlrpclib.Fault, fault:
|
||||
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
|
||||
except socket.error, (value, msg):
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
def get_user_by_principal(self,principal,sattrs=None):
|
||||
"""Get a specific user. If sattrs is not None then only those
|
||||
@@ -258,38 +277,6 @@ class RPCClient:
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
# Group support
|
||||
|
||||
def get_group_by_cn(self,cn,sattrs=None):
|
||||
"""Get a specific group. If sattrs is not None then only those
|
||||
attributes will be returned, otherwise all available
|
||||
attributes are returned. The result is a dict."""
|
||||
server = self.setup_server()
|
||||
if sattrs is None:
|
||||
sattrs = "__NONE__"
|
||||
try:
|
||||
result = server.get_group_by_cn(cn, sattrs)
|
||||
except xmlrpclib.Fault, fault:
|
||||
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
|
||||
except socket.error, (value, msg):
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
def get_group_by_dn(self,dn,sattrs=None):
|
||||
"""Get a specific group. If sattrs is not None then only those
|
||||
attributes will be returned, otherwise all available
|
||||
attributes are returned. The result is a dict."""
|
||||
server = self.setup_server()
|
||||
if sattrs is None:
|
||||
sattrs = "__NONE__"
|
||||
try:
|
||||
result = server.get_group_by_dn(dn, sattrs)
|
||||
except xmlrpclib.Fault, fault:
|
||||
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
|
||||
except socket.error, (value, msg):
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
return ipautil.unwrap_binary_data(result)
|
||||
|
||||
def get_groups_by_member(self,member_dn,sattrs=None):
|
||||
"""Gets the groups that member_dn belongs to.
|
||||
|
||||
Reference in New Issue
Block a user