Re: [Freeipa-devel] [PATCH] Make pkey always iterable when deleting

2010-12-20 Thread Rob Crittenden

Jakub Hrozek wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/20/2010 03:07 PM, Jan Zelený wrote:

Jakub Hrozek  wrote:

When deleting multiple objects, the code tries to enforce that the
primary key is always iterable by doing:

keys = keys[:-1] + (keys[-1], )

But this doesn't work, the line only concatenates two tuples effectively
returning the original one. See the attached patch for a fix.


nack: you have the condition in chunk #2 wrong - pkeyiter will be never None

Jan



Thanks, attached is a new patch.


pushed to master

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Make pkey always iterable when deleting

2010-12-20 Thread Jakub Hrozek
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/20/2010 03:07 PM, Jan Zelený wrote:
> Jakub Hrozek  wrote:
>> When deleting multiple objects, the code tries to enforce that the
>> primary key is always iterable by doing:
>>
>> keys = keys[:-1] + (keys[-1], )
>>
>> But this doesn't work, the line only concatenates two tuples effectively
>> returning the original one. See the attached patch for a fix.
> 
> nack: you have the condition in chunk #2 wrong - pkeyiter will be never None
> 
> Jan
> 

Thanks, attached is a new patch.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk0PaBYACgkQHsardTLnvCVszQCeJLpRnhTlTE4sfXEsOGYHxTuM
XNMAoOPT5ha6jlNRFlcg86GLAcElsRI8
=P15o
-END PGP SIGNATURE-
From f187c602390f369c290bddb99ba74df491335701 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek 
Date: Tue, 14 Dec 2010 18:02:41 +0100
Subject: [PATCH] Make pkey always iterable when deleting

---
 ipalib/plugins/baseldap.py |8 +---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py
index 69682dc..ea974f9 100644
--- a/ipalib/plugins/baseldap.py
+++ b/ipalib/plugins/baseldap.py
@@ -889,12 +889,14 @@ class LDAPDelete(LDAPMultiQuery):
 return result
 
 if not self.obj.primary_key or not isinstance(keys[-1], (list, tuple)):
-keys = keys[:-1] + (keys[-1], )
+pkeyiter = (keys[-1], )
+else:
+pkeyiter = keys[-1]
 
 deleted = []
 failed = []
 result = True
-for pkey in keys[-1]:
+for pkey in pkeyiter:
 try:
 if not delete_entry(pkey):
 result = False
@@ -905,7 +907,7 @@ class LDAPDelete(LDAPMultiQuery):
 else:
 deleted.append(pkey)
 
-if self.obj.primary_key and keys[-1] is not None:
+if self.obj.primary_key and pkeyiter[0] is not None:
 return dict(result=result, value=u','.join(deleted))
 return dict(result=result, value=u'')
 
-- 
1.7.3.3



freeipa-jhrozek-028-02-pkey-iterable.patch.sig
Description: PGP signature
___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel