From e9a0f03019329fa3fa3cb7cad42a61c02391b18b Mon Sep 17 00:00:00 2001 From: Nicolas Dumazet <nicolas.dumazet@nexedi.com> Date: Tue, 29 Dec 2009 02:49:22 +0000 Subject: [PATCH] sets: (A minus (A inter B)) can be be rewritten as (A minus B) git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31508 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/TradeCondition.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/product/ERP5/Document/TradeCondition.py b/product/ERP5/Document/TradeCondition.py index 4952f17c78..2b6d191617 100644 --- a/product/ERP5/Document/TradeCondition.py +++ b/product/ERP5/Document/TradeCondition.py @@ -148,16 +148,15 @@ class TradeCondition(Path, Transformation, XMLMatrix): # it is possible, that specialised object cannot be specialised # anymore continue - intersection = set(child_specialised_value_list).intersection(\ + difference = set(child_specialised_value_list).difference(\ set(visited_trade_condition_list)) - for model in child_specialised_value_list: - # don't add model that have already been visited. This permit to - # visit all the tree and to prevent having circular dependency - if model not in intersection: - specialise_value_list.append(model) - # only add those who matches the portal type given - if model in child_visited_trade_condition_list: - visited_trade_condition_list.append(model) + # don't add model that have already been visited. This permit to + # visit all the tree and to prevent having circular dependency + for model in difference: + specialise_value_list.append(model) + # only add those who matches the portal type given + if model in child_visited_trade_condition_list: + visited_trade_condition_list.append(model) return visited_trade_condition_list -- 2.30.9