From fbbdd27b5389ccbafa3fea8608b412759093cb69 Mon Sep 17 00:00:00 2001 From: Kevin McCarthy Date: Mon, 15 Oct 2007 09:04:13 -0700 Subject: Creates an update_entry api call, aliases update_user and update_group to it. --- ipa-python/ipaclient.py | 6 ++++++ ipa-python/rpcclient.py | 14 ++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'ipa-python') 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 -- cgit