From 863e9811b4bbc44bbaacdd65e837c360898eaf43 Mon Sep 17 00:00:00 2001 From: Vincent Pelletier <vincent@nexedi.com> Date: Sun, 3 Feb 2008 07:01:10 +0000 Subject: [PATCH] Factorize self.filter_dict[method_name] lookups. Use an ImmutableSet instead of a dict where value = key. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@19010 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ZSQLCatalog/SQLCatalog.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py index 7e16bf3dda..2dfa036e64 100644 --- a/product/ZSQLCatalog/SQLCatalog.py +++ b/product/ZSQLCatalog/SQLCatalog.py @@ -44,6 +44,7 @@ from xml.dom.minidom import parse from xml.sax.saxutils import escape, quoteattr import os import md5 +from sets import ImmutableSet try: from Products.CMFCore.Expression import Expression @@ -1708,15 +1709,15 @@ class Catalog(Folder, kw = {} if self.isMethodFiltered(method_name): catalogged_object_list = [] - type_list = self.filter_dict[method_name]['type'] - type_dict = dict(zip(type_list, type_list)) or None - expression = self.filter_dict[method_name]['expression_instance'] - expression_cache_key_list = self.filter_dict[method_name].get('expression_cache_key', '').split() + filter = self.filter_dict[method_name] + type_set = ImmutableSet(filter['type']) or None + expression = filter['expression_instance'] + expression_cache_key_list = filter.get('expression_cache_key', '').split() for object in object_list: # We will check if there is an filter on this # method, if so we may not call this zsqlMethod # for this object - if type_dict is not None and object.getPortalType() not in type_dict: + if type_set is not None and object.getPortalType() not in type_set: continue elif expression is not None: if expression_cache_key_list: -- 2.30.9