From 95bdc58c42e594d09d7c29784d15b5c9afe3e78e Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Tue, 9 Oct 2007 09:17:34 +0000
Subject: [PATCH] Avoid overcomplexification. Use python-ish code. Factorise
 calls to isinstance. Split comment to match code with better granularity.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@16900 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/HBTreeFolder2/HBTreeFolder2.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/product/HBTreeFolder2/HBTreeFolder2.py b/product/HBTreeFolder2/HBTreeFolder2.py
index b53710b37a..3b08ac9a87 100644
--- a/product/HBTreeFolder2/HBTreeFolder2.py
+++ b/product/HBTreeFolder2/HBTreeFolder2.py
@@ -242,17 +242,18 @@ class HBTreeFolder2Base (Persistent):
         """
         htree = self._htree
         id_list = self.hashId(id)
-        for idx in xrange(len(id_list[0:-1])):
+        for idx in xrange(len(id_list) - 1):
           sub_id = id_list[idx]
-          if not htree.has_key(sub_id):
-            # Create a new index and index it
+          if sub_id not in htree:
+            # Create a new level
             htree[sub_id] = OOBTree()
-            if isinstance(sub_id, int) or isinstance(sub_id, long):
+            if isinstance(sub_id, (int, long)):
               tree_id = 0
               for id in id_list[:idx+1]:
                   tree_id = tree_id + id * MAX_OBJECT_PER_LEVEL
             else:
               tree_id = H_SEPARATOR.join(id_list[:idx+1])
+            # Index newly created level
             self._tree_list[tree_id] = None
             
           htree = htree[sub_id]
-- 
2.30.9