summaryrefslogtreecommitdiffstats
path: root/ipa-python
diff options
context:
space:
mode:
authorKevin McCarthy <kmccarth@redhat.com>2007-10-15 09:04:13 -0700
committerKevin McCarthy <kmccarth@redhat.com>2007-10-15 09:04:13 -0700
commitfbbdd27b5389ccbafa3fea8608b412759093cb69 (patch)
tree6fb9d1e82fc9b21a322493a79071b5dab00cd822 /ipa-python
parent63f7cdf7f7e1c39b791dad6951fa39d9a6d58c9d (diff)
downloadfreeipa-fbbdd27b5389ccbafa3fea8608b412759093cb69.tar.gz
freeipa-fbbdd27b5389ccbafa3fea8608b412759093cb69.tar.xz
freeipa-fbbdd27b5389ccbafa3fea8608b412759093cb69.zip
Creates an update_entry api call, aliases update_user and update_group to it.
Diffstat (limited to 'ipa-python')
-rw-r--r--ipa-python/ipaclient.py6
-rw-r--r--ipa-python/rpcclient.py14
2 files changed, 20 insertions, 0 deletions
diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py
index cf2e355a..9f6f8f3e 100644
--- a/ipa-python/ipaclient.py
+++ b/ipa-python/ipaclient.py
@@ -78,6 +78,12 @@ class IPAClient:
result = self.transport.get_entry_by_cn(cn,sattrs)
return entity.Entity(result)
+ def update_entry(self,entry):
+ """Update a entry."""
+
+ result = self.transport.update_entry(entry.origDataDict(), entry.toDict())
+ return 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
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py
index ae26d707..eae68ee3 100644
--- a/ipa-python/rpcclient.py
+++ b/ipa-python/rpcclient.py
@@ -118,6 +118,20 @@ class RPCClient:
return ipautil.unwrap_binary_data(result)
+ def update_entry(self,oldentry,newentry):
+ """Update an existing entry. oldentry and newentry are dicts of attributes"""
+ server = self.setup_server()
+
+ try:
+ result = server.update_entry(ipautil.wrap_binary_data(oldentry),
+ ipautil.wrap_binary_data(newentry))
+ 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