[Erp5-report] r15869 - /erp5/trunk/products/ERP5/Tool/SimulationTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Aug 28 14:57:31 CEST 2007
Author: vincent
Date: Tue Aug 28 14:57:31 2007
New Revision: 15869
URL: http://svn.erp5.org?rev=15869&view=rev
Log:
Move related key name generation from _generateKeywordDict to _generateSQLKeywordDictFromKeywordDict. This removes the need of the "table" parameter in the first method, so remove it aswell, and update caller.
Modified:
erp5/trunk/products/ERP5/Tool/SimulationTool.py
Modified: erp5/trunk/products/ERP5/Tool/SimulationTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/SimulationTool.py?rev=15869&r1=15868&r2=15869&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SimulationTool.py (original)
+++ erp5/trunk/products/ERP5/Tool/SimulationTool.py Tue Aug 28 14:57:31 2007
@@ -360,7 +360,7 @@
return {'input': omit_input, 'output': omit_output}
def _generateSQLKeywordDict(self, table='stock', **kw):
- sql_kw, new_kw = self._generateKeywordDict(table=table, **kw)
+ sql_kw, new_kw = self._generateKeywordDict(**kw)
return self._generateSQLKeywordDictFromKeywordDict(table=table,
sql_kw=sql_kw, new_kw=new_kw)
@@ -376,6 +376,10 @@
column_value_dict = new_kw.pop('column_value_dict', {})
for key, value in column_value_dict.iteritems():
new_kw['%s.%s' % (table, key)] = value
+ # Related keys
+ related_key_dict = new_kw.pop('related_key_dict', {})
+ for key, value in related_key_dict.iteritems():
+ new_kw['%s_%s' % (table, key)] = value
# Simulation states matched with input and output omission
def joinQueriesIfNeeded(query_a, query_b, operator):
if None not in (query_a, query_b):
@@ -407,7 +411,7 @@
sql_kw.update(self.portal_catalog.buildSQLQuery(**new_kw))
return sql_kw
- def _generateKeywordDict(self, table='stock',
+ def _generateKeywordDict(self,
# dates
from_date=None, to_date=None, at_date=None,
omit_mirror_date=1,
@@ -534,54 +538,56 @@
new_kw['column_value_dict'] = column_value_dict
+ related_key_dict = {}
+
# category membership
resource_category_uid_list = self._generatePropertyUidList(
resource_category)
if resource_category_uid_list:
- new_kw[table + '_resource_category_uid'] = resource_category_uid_list
+ related_key_dict['resource_category_uid'] = resource_category_uid_list
node_category_uid_list = self._generatePropertyUidList(node_category)
if node_category_uid_list:
- new_kw[table + '_node_category_uid'] = node_category_uid_list
+ related_key_dict['node_category_uid'] = node_category_uid_list
payment_category_uid_list = self._generatePropertyUidList(payment_category)
if payment_category_uid_list:
- new_kw[table + '_payment_category_uid'] = payment_category_uid_list
+ related_key_dict['payment_category_uid'] = payment_category_uid_list
section_category_uid_list = self._generatePropertyUidList(section_category)
if section_category_uid_list:
- new_kw[table + '_section_category_uid'] = section_category_uid_list
+ related_key_dict['section_category_uid'] = section_category_uid_list
sql_kw['section_filtered'] = 1
mirror_section_category_uid_list = self._generatePropertyUidList(
mirror_section_category)
if mirror_section_category_uid_list:
- new_kw[table + '_mirror_section_category_uid'] =\
+ related_key_dict['mirror_section_category_uid'] =\
mirror_section_category_uid_list
# category strict membership
resource_category_strict_membership_uid_list =\
self._generatePropertyUidList(resource_category_strict_membership)
if resource_category_strict_membership_uid_list:
- new_kw[table + '_resource_category_strict_membership_uid'] =\
+ related_key_dict['resource_category_strict_membership_uid'] =\
resource_category_strict_membership_uid_list
node_category_strict_membership_uid_list =\
self._generatePropertyUidList(node_category_strict_membership)
if node_category_strict_membership_uid_list:
- new_kw[table + '_node_category_strict_membership_uid'] =\
+ related_key_dict['node_category_strict_membership_uid'] =\
node_category_strict_membership_uid_list
payment_category_strict_membership_uid_list =\
self._generatePropertyUidList(payment_category_strict_membership)
if payment_category_strict_membership_uid_list:
- new_kw[table + '_payment_category_strict_membership_uid'] =\
+ related_key_dict['payment_category_strict_membership_uid'] =\
payment_category_strict_membership_uid_list
section_category_strict_membership_uid_list =\
self._generatePropertyUidList(section_category_strict_membership)
if section_category_strict_membership_uid_list:
- new_kw[table + '_section_category_strict_membership_uid'] =\
+ related_key_dict['section_category_strict_membership_uid'] =\
section_category_strict_membership_uid_list
sql_kw['section_filtered'] = 1
@@ -589,8 +595,10 @@
self._generatePropertyUidList(
mirror_section_category_strict_membership)
if mirror_section_category_strict_membership_uid_list:
- new_kw[table + '_mirror_section_category_strict_membership_uid'] =\
+ related_key_dict['mirror_section_category_strict_membership_uid'] =\
mirror_section_category_strict_membership_uid_list
+
+ new_kw['related_key_dict'] = related_key_dict
#variation_category_uid_list = self._generatePropertyUidList(variation_category)
#if len(variation_category_uid_list) :
More information about the Erp5-report
mailing list