Commit c11e08ba authored by Arnaud Fontaine's avatar Arnaud Fontaine

WIP: 2to3: iteritems/itervalues.

parent 5b1d72b4
...@@ -59,7 +59,7 @@ class ActivityBuffer(TM): ...@@ -59,7 +59,7 @@ class ActivityBuffer(TM):
try: try:
activity_tool = self.activity_tool activity_tool = self.activity_tool
# Try to push all messages # Try to push all messages
for activity, message_list in self.message_list_dict.iteritems(): for activity, message_list in six.iteritems(self.message_list_dict):
activity.prepareQueueMessageList(activity_tool, message_list) activity.prepareQueueMessageList(activity_tool, message_list)
self.message_list_dict.clear() self.message_list_dict.clear()
self.activity_tool = None self.activity_tool = None
......
...@@ -702,7 +702,7 @@ class ActivityTool (BaseTool): ...@@ -702,7 +702,7 @@ class ActivityTool (BaseTool):
security.declarePrivate('initialize') security.declarePrivate('initialize')
def initialize(self): def initialize(self):
self.maybeMigrateConnectionClass() self.maybeMigrateConnectionClass()
for activity in activity_dict.itervalues(): for activity in six.itervalues(activity_dict):
activity.initialize(self, clear=False) activity.initialize(self, clear=False)
# Remove old skin if any. # Remove old skin if any.
skins_tool = self.getPortalObject().portal_skins skins_tool = self.getPortalObject().portal_skins
...@@ -1328,7 +1328,7 @@ class ActivityTool (BaseTool): ...@@ -1328,7 +1328,7 @@ class ActivityTool (BaseTool):
Distribute load Distribute load
""" """
# Call distribute on each queue # Call distribute on each queue
for activity in activity_dict.itervalues(): for activity in six.itervalues(activity_dict):
activity.distribute(aq_inner(self), node_count) activity.distribute(aq_inner(self), node_count)
security.declarePublic('tic') security.declarePublic('tic')
...@@ -1392,7 +1392,7 @@ class ActivityTool (BaseTool): ...@@ -1392,7 +1392,7 @@ class ActivityTool (BaseTool):
quote = db.string_literal quote = db.string_literal
return bool(db.query("(%s)" % ") UNION ALL (".join( return bool(db.query("(%s)" % ") UNION ALL (".join(
activity.hasActivitySQL(quote, path=path, **kw) activity.hasActivitySQL(quote, path=path, **kw)
for activity in activity_dict.itervalues()))[1]) for activity in six.itervalues(activity_dict)))[1])
security.declarePrivate('getActivityBuffer') security.declarePrivate('getActivityBuffer')
def getActivityBuffer(self, create_if_not_found=True): def getActivityBuffer(self, create_if_not_found=True):
...@@ -1494,7 +1494,7 @@ class ActivityTool (BaseTool): ...@@ -1494,7 +1494,7 @@ class ActivityTool (BaseTool):
object_path = obj object_path = obj
else: else:
object_path = obj.getPhysicalPath() object_path = obj.getPhysicalPath()
for activity in activity_dict.itervalues(): for activity in six.itervalues(activity_dict):
activity.flush(aq_inner(self), object_path, invoke=invoke, **kw) activity.flush(aq_inner(self), object_path, invoke=invoke, **kw)
def invoke(self, message): def invoke(self, message):
...@@ -1629,7 +1629,7 @@ class ActivityTool (BaseTool): ...@@ -1629,7 +1629,7 @@ class ActivityTool (BaseTool):
error_log.raising(exc_info) error_log.raising(exc_info)
else: else:
# Note there can be partial failures. # Note there can be partial failures.
for m, expanded_object_list in message_dict.iteritems(): for m, expanded_object_list in six.iteritems(message_dict):
result_list = [] result_list = []
for result in expanded_object_list: for result in expanded_object_list:
try: try:
...@@ -1741,7 +1741,7 @@ class ActivityTool (BaseTool): ...@@ -1741,7 +1741,7 @@ class ActivityTool (BaseTool):
""" """
Recreate tables, clearing all activities Recreate tables, clearing all activities
""" """
for activity in activity_dict.itervalues(): for activity in six.itervalues(activity_dict):
activity.initialize(self, clear=True) activity.initialize(self, clear=True)
if RESPONSE is not None: if RESPONSE is not None:
...@@ -1770,7 +1770,7 @@ class ActivityTool (BaseTool): ...@@ -1770,7 +1770,7 @@ class ActivityTool (BaseTool):
return activity_dict[activity].getMessageList(aq_inner(self), **kw) return activity_dict[activity].getMessageList(aq_inner(self), **kw)
message_list = [] message_list = []
for activity in activity_dict.itervalues(): for activity in six.itervalues(activity_dict):
try: try:
message_list += activity.getMessageList(aq_inner(self), **kw) message_list += activity.getMessageList(aq_inner(self), **kw)
except AttributeError: except AttributeError:
...@@ -1800,7 +1800,7 @@ class ActivityTool (BaseTool): ...@@ -1800,7 +1800,7 @@ class ActivityTool (BaseTool):
quote = db.string_literal quote = db.string_literal
return sum(x for x, in db.query("(%s)" % ") UNION ALL (".join( return sum(x for x, in db.query("(%s)" % ") UNION ALL (".join(
activity.countMessageSQL(quote, **kw) activity.countMessageSQL(quote, **kw)
for activity in activity_dict.itervalues()))[1]) for activity in six.itervalues(activity_dict)))[1])
security.declareProtected( CMFCorePermissions.ManagePortal , 'newActiveProcess' ) security.declareProtected( CMFCorePermissions.ManagePortal , 'newActiveProcess' )
def newActiveProcess(self, REQUEST=None, **kw): def newActiveProcess(self, REQUEST=None, **kw):
...@@ -1813,11 +1813,11 @@ class ActivityTool (BaseTool): ...@@ -1813,11 +1813,11 @@ class ActivityTool (BaseTool):
security.declarePrivate('getSQLTableNameSet') security.declarePrivate('getSQLTableNameSet')
def getSQLTableNameSet(self): def getSQLTableNameSet(self):
return [x.sql_table for x in activity_dict.itervalues()] return [x.sql_table for x in six.itervalues(activity_dict)]
# Required for tests (time shift) # Required for tests (time shift)
def timeShift(self, delay): def timeShift(self, delay):
for activity in activity_dict.itervalues(): for activity in six.itervalues(activity_dict):
activity.timeShift(aq_inner(self), delay) activity.timeShift(aq_inner(self), delay)
InitializeClass(ActivityTool) InitializeClass(ActivityTool)
...@@ -118,7 +118,7 @@ class Balancer: ...@@ -118,7 +118,7 @@ class Balancer:
if addr not in self.disabled_server_dict: if addr not in self.disabled_server_dict:
count_dict[addr] = 0 count_dict[addr] = 0
expired_server_list = [] expired_server_list = []
for key,value in self.sticked_server_dict.items(): for key,value in six.iteritems(self.sticked_server_dict):
if self.debug: if self.debug:
print('cur_time = %f, value.atime = %f' % (cur_time, value.atime)) print('cur_time = %f, value.atime = %f' % (cur_time, value.atime))
if cur_time > value.atime + 60 * 10: if cur_time > value.atime + 60 * 10:
......
...@@ -75,7 +75,7 @@ class Filter(Implicit): ...@@ -75,7 +75,7 @@ class Filter(Implicit):
return False return False
if self.filter_leave and not self._isNode(context): if self.filter_leave and not self._isNode(context):
return False return False
for k, v in self.filter_dict.items(): for k, v in six.iteritems(self.filter_dict):
if type(v) in (type([]), type(())): if type(v) in (type([]), type(())):
if context.getProperty(k) not in v: if context.getProperty(k) not in v:
return False return False
......
...@@ -39,7 +39,7 @@ def dump_threads(): ...@@ -39,7 +39,7 @@ def dump_threads():
this_thread_id = thread.get_ident() this_thread_id = thread.get_ident()
now = time.strftime("%Y-%m-%d %H:%M:%S") now = time.strftime("%Y-%m-%d %H:%M:%S")
res = ["Threads traceback dump at %s\n" % now] res = ["Threads traceback dump at %s\n" % now]
for thread_id, frame in _current_frames().iteritems(): for thread_id, frame in six.iteritems(_current_frames()):
if thread_id == this_thread_id: if thread_id == this_thread_id:
continue continue
......
...@@ -802,7 +802,7 @@ class ObjectTemplateItem(BaseTemplateItem): ...@@ -802,7 +802,7 @@ class ObjectTemplateItem(BaseTemplateItem):
if len(self._objects.keys()) == 0: if len(self._objects.keys()) == 0:
return return
path = self.__class__.__name__ + '/' path = self.__class__.__name__ + '/'
for key, obj in self._objects.iteritems(): for key, obj in six.iteritems(self._objects):
# Back compatibility with filesystem Documents # Back compatibility with filesystem Documents
if isinstance(obj, str): if isinstance(obj, str):
if not key.startswith(path): if not key.startswith(path):
...@@ -1465,7 +1465,7 @@ class ObjectTemplateItem(BaseTemplateItem): ...@@ -1465,7 +1465,7 @@ class ObjectTemplateItem(BaseTemplateItem):
# get a jar # get a jar
connection = self.getConnection(obj) connection = self.getConnection(obj)
# import subobjects # import subobjects
for subobject_id, subobject_data in subobjects_dict.iteritems(): for subobject_id, subobject_data in six.iteritems(subobjects_dict):
try: try:
if obj._getOb(subobject_id, None) is None: if obj._getOb(subobject_id, None) is None:
subobject_data.seek(0) subobject_data.seek(0)
...@@ -1551,7 +1551,7 @@ class ObjectTemplateItem(BaseTemplateItem): ...@@ -1551,7 +1551,7 @@ class ObjectTemplateItem(BaseTemplateItem):
# defined on the former form # defined on the former form
previous_group_id = None previous_group_id = None
if not widget_in_form: if not widget_in_form:
for old_group_id, old_group_values in old_groups_dict.iteritems(): for old_group_id, old_group_values in six.iteritems(old_groups_dict):
if widget_id in old_group_values: if widget_id in old_group_values:
previous_group_id = old_group_id previous_group_id = old_group_id
# if we find same group in new one, add widget to it # if we find same group in new one, add widget to it
...@@ -1565,7 +1565,7 @@ class ObjectTemplateItem(BaseTemplateItem): ...@@ -1565,7 +1565,7 @@ class ObjectTemplateItem(BaseTemplateItem):
new_groups_dict['not_assigned'] = [widget_id,] new_groups_dict['not_assigned'] = [widget_id,]
obj.group_list = list(obj.group_list) + ['not_assigned'] obj.group_list = list(obj.group_list) + ['not_assigned']
# second check all widget_id in order are in form # second check all widget_id in order are in form
for group_id, group_value_list in new_groups_dict.iteritems(): for group_id, group_value_list in six.iteritems(new_groups_dict):
for widget_id in tuple(group_value_list): for widget_id in tuple(group_value_list):
if widget_id not in widget_id_list: if widget_id not in widget_id_list:
# if we don't find the widget id in the form # if we don't find the widget id in the form
...@@ -1580,7 +1580,7 @@ class ObjectTemplateItem(BaseTemplateItem): ...@@ -1580,7 +1580,7 @@ class ObjectTemplateItem(BaseTemplateItem):
# element of object_key_list, and not just these objects themselves. # element of object_key_list, and not just these objects themselves.
# XXX: why does update_dict contain the path of documents not managed # XXX: why does update_dict contain the path of documents not managed
# by current instance ? # by current instance ?
for path, action in update_dict.iteritems(): for path, action in six.iteritems(update_dict):
if action not in ('remove', 'save_and_remove'): if action not in ('remove', 'save_and_remove'):
continue continue
path_match = path + '/' path_match = path + '/'
...@@ -1775,7 +1775,7 @@ class PathTemplateItem(ObjectTemplateItem): ...@@ -1775,7 +1775,7 @@ class PathTemplateItem(ObjectTemplateItem):
if update_dict: if update_dict:
def updateLocalRolesOnDocument(): def updateLocalRolesOnDocument():
for portal_type, obj_list in update_dict.iteritems(): for portal_type, obj_list in six.iteritems(update_dict):
update = p.portal_types[portal_type].updateLocalRolesOnDocument update = p.portal_types[portal_type].updateLocalRolesOnDocument
for obj in obj_list: for obj in obj_list:
update(obj) update(obj)
...@@ -1839,7 +1839,7 @@ class ToolTemplateItem(PathTemplateItem): ...@@ -1839,7 +1839,7 @@ class ToolTemplateItem(PathTemplateItem):
PathTemplateItem.install(self, context, trashbin, **kw) PathTemplateItem.install(self, context, trashbin, **kw)
portal = context.getPortalObject() portal = context.getPortalObject()
types_tool = portal.portal_types types_tool = portal.portal_types
for type_container_id, obj in self._objects.iteritems(): for type_container_id, obj in six.iteritems(self._objects):
if (interfaces.ITypeProvider.providedBy(obj) and if (interfaces.ITypeProvider.providedBy(obj) and
type_container_id != types_tool.id and type_container_id != types_tool.id and
type_container_id not in types_tool.type_provider_list): type_container_id not in types_tool.type_provider_list):
...@@ -2006,7 +2006,7 @@ class SkinTemplateItem(ObjectTemplateItem): ...@@ -2006,7 +2006,7 @@ class SkinTemplateItem(ObjectTemplateItem):
# We must install/update an ERP5 Form if one of its widget is modified. # We must install/update an ERP5 Form if one of its widget is modified.
# This allow to keep the widget order and the form layout after an update # This allow to keep the widget order and the form layout after an update
# from a BT to another one. # from a BT to another one.
for (bt_obj_path, bt_obj) in self._objects.items(): for (bt_obj_path, bt_obj) in six.iteritems(list(self._objects)):
if getattr(bt_obj, 'meta_type', None) == 'ERP5 Form': if getattr(bt_obj, 'meta_type', None) == 'ERP5 Form':
# search sub-objects of ERP5 Forms that are marked as "modified" # search sub-objects of ERP5 Forms that are marked as "modified"
for upd_obj_path in modified_object_list.keys(): for upd_obj_path in modified_object_list.keys():
...@@ -2231,7 +2231,7 @@ class RegisteredVersionPrioritySelectionTemplateItem(BaseTemplateItem): ...@@ -2231,7 +2231,7 @@ class RegisteredVersionPrioritySelectionTemplateItem(BaseTemplateItem):
update_dict = kw.get('object_to_update') update_dict = kw.get('object_to_update')
force = kw.get('force') force = kw.get('force')
registered_name_list = set(portal.getVersionPriorityNameList()) registered_name_list = set(portal.getVersionPriorityNameList())
for new_version, new_priority in self._objects.iteritems(): for new_version, new_priority in six.iteritems(self._objects):
action = update_dict.get(new_version) action = update_dict.get(new_version)
if (not action or action == 'nothing') and not force: if (not action or action == 'nothing') and not force:
continue continue
...@@ -2276,7 +2276,7 @@ class RegisteredVersionPrioritySelectionTemplateItem(BaseTemplateItem): ...@@ -2276,7 +2276,7 @@ class RegisteredVersionPrioritySelectionTemplateItem(BaseTemplateItem):
def preinstall(self, context, installed_item, **kw): def preinstall(self, context, installed_item, **kw):
modified_object_list = {} modified_object_list = {}
class_name_prefix = self.__class__.__name__[:-12] class_name_prefix = self.__class__.__name__[:-12]
for path, new_object in self._objects.iteritems(): for path, new_object in six.iteritems(self._objects):
old_object = installed_item._objects.get(path) old_object = installed_item._objects.get(path)
if old_object is not None: if old_object is not None:
# Compare object to see it there is any change # Compare object to see it there is any change
...@@ -2328,14 +2328,14 @@ class WorkflowTemplateItem(ObjectTemplateItem): ...@@ -2328,14 +2328,14 @@ class WorkflowTemplateItem(ObjectTemplateItem):
modified_object_dict = ObjectTemplateItem.preinstall(self, context, modified_object_dict = ObjectTemplateItem.preinstall(self, context,
installed_item, **kw) installed_item, **kw)
modified_workflow_dict = {} modified_workflow_dict = {}
for modified_object, state in modified_object_dict.iteritems(): for modified_object, state in six.iteritems(modified_object_dict):
path = modified_object.split('/') path = modified_object.split('/')
if len(path) > 2: if len(path) > 2:
modified_workflow_dict.setdefault('/'.join(path[:2]), ('Modified', state[1])) modified_workflow_dict.setdefault('/'.join(path[:2]), ('Modified', state[1]))
else: else:
modified_workflow_dict[modified_object] = state modified_workflow_dict[modified_object] = state
removed_workflow_id_list = [x[0].split('/', 1)[1] \ removed_workflow_id_list = [x[0].split('/', 1)[1] \
for x in modified_workflow_dict.iteritems() \ for x in six.iteritems(modified_workflow_dict) \
if x[1][0] == 'Removed'] if x[1][0] == 'Removed']
if len(removed_workflow_id_list) > 0: if len(removed_workflow_id_list) > 0:
installed_chain_list = [[y.strip() for y in x.split('|')] for x in \ installed_chain_list = [[y.strip() for y in x.split('|')] for x in \
...@@ -2476,8 +2476,8 @@ class PortalTypeTemplateItem(ObjectTemplateItem): ...@@ -2476,8 +2476,8 @@ class PortalTypeTemplateItem(ObjectTemplateItem):
force = kw.get('force') force = kw.get('force')
# We now need to setup the list of workflows corresponding to # We now need to setup the list of workflows corresponding to
# each portal type # each portal type
for path, obj in self._objects.iteritems(): for path, obj in six.iteritems(self._objects):
if update_dict.has_key(path) or force: if path in update_dict or force:
if not force: if not force:
action = update_dict[path] action = update_dict[path]
if action == 'nothing': if action == 'nothing':
...@@ -2565,7 +2565,7 @@ class PortalTypeWorkflowChainTemplateItem(BaseTemplateItem): ...@@ -2565,7 +2565,7 @@ class PortalTypeWorkflowChainTemplateItem(BaseTemplateItem):
# and if the template is not built, # and if the template is not built,
# it should be removed here from the key # it should be removed here from the key
new_objects = PersistentMapping() new_objects = PersistentMapping()
for key, value in self._objects.iteritems(): for key, value in six.iteritems(self._objects):
new_key = deepcopy(key) new_key = deepcopy(key)
if 'portal_type_workflow_chain/' in key: if 'portal_type_workflow_chain/' in key:
new_key = new_key.replace('portal_type_workflow_chain/', '') new_key = new_key.replace('portal_type_workflow_chain/', '')
...@@ -2681,7 +2681,7 @@ class PortalTypeWorkflowChainTemplateItem(BaseTemplateItem): ...@@ -2681,7 +2681,7 @@ class PortalTypeWorkflowChainTemplateItem(BaseTemplateItem):
modified_object_list = {} modified_object_list = {}
new_dict = PersistentMapping() new_dict = PersistentMapping()
# Fix key from installed bt if necessary # Fix key from installed bt if necessary
for key, value in installed_item._objects.iteritems(): for key, value in six.iteritems(installed_item._objects):
if not 'portal_type_workflow_chain/' in key: if not 'portal_type_workflow_chain/' in key:
key = 'portal_type_workflow_chain/%s' % (key) key = 'portal_type_workflow_chain/%s' % (key)
new_dict[key] = value new_dict[key] = value
...@@ -2786,7 +2786,7 @@ class PortalTypeAllowedContentTypeTemplateItem(BaseTemplateItem): ...@@ -2786,7 +2786,7 @@ class PortalTypeAllowedContentTypeTemplateItem(BaseTemplateItem):
modified_object_list = {} modified_object_list = {}
new_dict = PersistentMapping() new_dict = PersistentMapping()
# fix key if necessary in installed bt for diff # fix key if necessary in installed bt for diff
for key, value in installed_item._objects.iteritems(): for key, value in six.iteritems(installed_item._objects):
if self.class_property not in key: if self.class_property not in key:
key = '%s/%s' % (self.class_property, key) key = '%s/%s' % (self.class_property, key)
new_dict[key] = value new_dict[key] = value
...@@ -2995,8 +2995,8 @@ class CatalogMethodTemplateItem(ObjectTemplateItem): ...@@ -2995,8 +2995,8 @@ class CatalogMethodTemplateItem(ObjectTemplateItem):
obj = self._objects[path] obj = self._objects[path]
method_id = obj.id method_id = obj.id
xml_data = '<catalog_method>' xml_data = '<catalog_method>'
if self._method_properties.has_key(method_id): if method_id in self._method_properties:
for method_property, value in self._method_properties[method_id].items(): for method_property, value in six.iteritems(self._method_properties[method_id]):
xml_data += '\n <item key="%s" type="int">' %(method_property,) xml_data += '\n <item key="%s" type="int">' %(method_property,)
xml_data += '\n <value>%s</value>' %(value,) xml_data += '\n <value>%s</value>' %(value,)
xml_data += '\n </item>' xml_data += '\n </item>'
...@@ -3062,8 +3062,8 @@ class CatalogMethodTemplateItem(ObjectTemplateItem): ...@@ -3062,8 +3062,8 @@ class CatalogMethodTemplateItem(ObjectTemplateItem):
if force: # get all objects if force: # get all objects
values = self._objects.values() values = self._objects.values()
else: # get only selected object else: # get only selected object
for key, value in self._objects.iteritems(): for key, value in six.iteritems(self._objects):
if update_dict.has_key(key) or force: if key in update_dict or force:
if not force: if not force:
action = update_dict[key] action = update_dict[key]
if action == 'nothing': if action == 'nothing':
...@@ -3377,12 +3377,12 @@ class ActionTemplateItem(ObjectTemplateItem): ...@@ -3377,12 +3377,12 @@ class ActionTemplateItem(ObjectTemplateItem):
if action.priority > new_priority: if action.priority > new_priority:
move_down_list.append(str(index)) move_down_list.append(str(index))
obj.moveDownActions(selections=tuple(move_down_list)) obj.moveDownActions(selections=tuple(move_down_list))
for path, action_dict in portal_type_dict.iteritems(): for path, action_dict in six.iteritems(portal_type_dict):
container = p.unrestrictedTraverse(path) container = p.unrestrictedTraverse(path)
container.manage_delObjects([obj.id container.manage_delObjects([obj.id
for obj in container.getActionInformationList() for obj in container.getActionInformationList()
if obj.getReference() in action_dict]) if obj.getReference() in action_dict])
for name, obj in action_dict.iteritems(): for name, obj in six.iteritems(action_dict):
container._importOldAction(obj).aq_base container._importOldAction(obj).aq_base
def uninstall(self, context, **kw): def uninstall(self, context, **kw):
...@@ -3436,7 +3436,7 @@ class PortalTypeRolesTemplateItem(BaseTemplateItem): ...@@ -3436,7 +3436,7 @@ class PortalTypeRolesTemplateItem(BaseTemplateItem):
self._objects[relative_url] = type_role_list = [] self._objects[relative_url] = type_role_list = []
for role in obj.getRoleInformationList(): for role in obj.getRoleInformationList():
type_role_dict = {} type_role_dict = {}
for k, v in aq_base(role).__getstate__().iteritems(): for k, v in six.iteritems(aq_base(role).__getstate__()):
if k == 'condition': if k == 'condition':
if not v: if not v:
continue continue
...@@ -3735,8 +3735,8 @@ class ModuleTemplateItem(BaseTemplateItem): ...@@ -3735,8 +3735,8 @@ class ModuleTemplateItem(BaseTemplateItem):
force = kw.get('force') force = kw.get('force')
valid_permissions = dict.fromkeys([x[0] for x in valid_permissions = dict.fromkeys([x[0] for x in
context.ac_inherited_permissions(all=1)]) context.ac_inherited_permissions(all=1)])
for path, mapping in self._objects.iteritems(): for path, mapping in six.iteritems(self._objects):
if update_dict.has_key(path) or force: if path in update_dict or force:
if not force: if not force:
action = update_dict[path] action = update_dict[path]
if action == 'nothing': if action == 'nothing':
...@@ -3905,7 +3905,7 @@ class FilesystemDocumentTemplateItem(BaseTemplateItem): ...@@ -3905,7 +3905,7 @@ class FilesystemDocumentTemplateItem(BaseTemplateItem):
"""Conversion of magically uniqued paths to real ones""" """Conversion of magically uniqued paths to real ones"""
remove_object_dict = kw.get('remove_object_dict', {}) remove_object_dict = kw.get('remove_object_dict', {})
kw['remove_object_dict'] = {self._getPath(k): v kw['remove_object_dict'] = {self._getPath(k): v
for k, v in remove_object_dict.iteritems() for k, v in six.iteritems(remove_object_dict)
if k.startswith(self.getTemplateTypeName()+'/')} if k.startswith(self.getTemplateTypeName()+'/')}
BaseTemplateItem.remove(self, context, **kw) BaseTemplateItem.remove(self, context, **kw)
...@@ -4000,7 +4000,7 @@ class FilesystemToZodbTemplateItem(FilesystemDocumentTemplateItem, ...@@ -4000,7 +4000,7 @@ class FilesystemToZodbTemplateItem(FilesystemDocumentTemplateItem,
if method_name == 'preinstall': if method_name == 'preinstall':
old_result = result.copy() old_result = result.copy()
for k, v in old_result.iteritems(): for k, v in six.iteritems(old_result):
# Magical way to have unique path (without duplicating the prefix # Magical way to have unique path (without duplicating the prefix
# neither) in case of not yet migrated property sheets available on # neither) in case of not yet migrated property sheets available on
# preinstall list # preinstall list
...@@ -4047,7 +4047,7 @@ class FilesystemToZodbTemplateItem(FilesystemDocumentTemplateItem, ...@@ -4047,7 +4047,7 @@ class FilesystemToZodbTemplateItem(FilesystemDocumentTemplateItem,
""" """
remove_object_dict = kw.get('remove_object_dict', {}) remove_object_dict = kw.get('remove_object_dict', {})
kw['remove_object_dict'] = {self._getPath(k): v kw['remove_object_dict'] = {self._getPath(k): v
for k, v in remove_object_dict.iteritems() for k, v in six.iteritems(remove_object_dict)
if k.startswith(self.getTemplateTypeName()+'/')} if k.startswith(self.getTemplateTypeName()+'/')}
ObjectTemplateItem.remove(self, context, **kw) ObjectTemplateItem.remove(self, context, **kw)
...@@ -4858,7 +4858,7 @@ class MessageTranslationTemplateItem(BaseTemplateItem): ...@@ -4858,7 +4858,7 @@ class MessageTranslationTemplateItem(BaseTemplateItem):
if len(self._objects) == 0: if len(self._objects) == 0:
return return
root_path = self.__class__.__name__ root_path = self.__class__.__name__
for key, obj in self._objects.iteritems(): for key, obj in six.iteritems(self._objects):
path = os.path.join(root_path, key) path = os.path.join(root_path, key)
if '/' in key: if '/' in key:
bta.addObject(obj, 'translation', ext='.po', path=path) bta.addObject(obj, 'translation', ext='.po', path=path)
...@@ -5452,7 +5452,7 @@ Business Template is a set of definitions, such as skins, portal types and categ ...@@ -5452,7 +5452,7 @@ Business Template is a set of definitions, such as skins, portal types and categ
# get objects to remove # get objects to remove
# do remove after because we may need backup object from installation # do remove after because we may need backup object from installation
remove_object_dict = {} remove_object_dict = {}
for path, action in object_to_update.iteritems(): for path, action in six.iteritems(object_to_update):
if action in ('remove', 'save_and_remove'): if action in ('remove', 'save_and_remove'):
remove_object_dict[path] = action remove_object_dict[path] = action
...@@ -7122,7 +7122,7 @@ Business Template is a set of definitions, such as skins, portal types and categ ...@@ -7122,7 +7122,7 @@ Business Template is a set of definitions, such as skins, portal types and categ
message = ( message = (
"The following component could not be imported: " + "The following component could not be imported: " +
', '.join([ "%s (%s)" % (name, error) ', '.join([ "%s (%s)" % (name, error)
for name, error in failed_import_dict.iteritems() ])) for name, error in six.iteritems(failed_import_dict) ]))
if list_selection_name is not None: if list_selection_name is not None:
return self.Base_redirect('view', return self.Base_redirect('view',
......
...@@ -945,7 +945,7 @@ class Resource(XMLObject, XMLMatrix, VariatedMixin): ...@@ -945,7 +945,7 @@ class Resource(XMLObject, XMLMatrix, VariatedMixin):
uid = self.getUid() uid = self.getUid()
row_list = [] row_list = []
for unit_uid, value in self._getQuantityUnitDefinitionDict().iteritems(): for unit_uid, value in six.iteritems(self._getQuantityUnitDefinitionDict()):
definition_uid, quantity = value definition_uid, quantity = value
row_list.append(dict(uid=definition_uid, row_list.append(dict(uid=definition_uid,
resource_uid=uid, resource_uid=uid,
...@@ -977,7 +977,7 @@ class Resource(XMLObject, XMLMatrix, VariatedMixin): ...@@ -977,7 +977,7 @@ class Resource(XMLObject, XMLMatrix, VariatedMixin):
metric_type_map[metric_type] = measure metric_type_map[metric_type] = measure
insert_list = [] insert_list = []
for measure in metric_type_map.itervalues(): for measure in six.itervalues(metric_type_map):
if measure is not None: if measure is not None:
insert_list += measure.asCatalogRowList(quantity_unit_definition_dict) insert_list += measure.asCatalogRowList(quantity_unit_definition_dict)
......
...@@ -2492,7 +2492,7 @@ def initialize(self): ...@@ -2492,7 +2492,7 @@ def initialize(self):
REQUEST.RESPONSE.unauthorized() REQUEST.RESPONSE.unauthorized()
newSecurityManager(None, user.__of__(uf)) newSecurityManager(None, user.__of__(uf))
manage_addERP5Site(app.__of__(RequestContainer(REQUEST=REQUEST)), manage_addERP5Site(app.__of__(RequestContainer(REQUEST=REQUEST)),
**{k: kw.get(k, v) for k, v in default_kw.iteritems() **{k: kw.get(k, v) for k, v in six.iteritems(default_kw)
if isinstance(v, str)}) if isinstance(v, str)})
transaction.get().note('Created ' + meta_type) transaction.get().note('Created ' + meta_type)
transaction.commit() transaction.commit()
......
...@@ -70,7 +70,7 @@ def diff_objects(object_a, object_b): ...@@ -70,7 +70,7 @@ def diff_objects(object_a, object_b):
for property_dict_id in ('values', 'tales', 'overrides'): for property_dict_id in ('values', 'tales', 'overrides'):
a_property_dict = getattr(field_a, property_dict_id) a_property_dict = getattr(field_a, property_dict_id)
b_property_dict = getattr(field_b, property_dict_id) b_property_dict = getattr(field_b, property_dict_id)
for property_id, a_property_value in a_property_dict.iteritems(): for property_id, a_property_value in six.iteritems(a_property_dict):
b_property_value = b_property_dict[property_id] b_property_value = b_property_dict[property_id]
if a_property_value != b_property_value: if a_property_value != b_property_value:
if isinstance(a_property_value, str) and isinstance(b_property_value, str): if isinstance(a_property_value, str) and isinstance(b_property_value, str):
......
...@@ -121,7 +121,7 @@ class Amount(Base, VariatedMixin): ...@@ -121,7 +121,7 @@ class Amount(Base, VariatedMixin):
render_category_list = Renderer(display_id=display_id, **kw).render render_category_list = Renderer(display_id=display_id, **kw).render
kw['display_id'] = 'title' kw['display_id'] = 'title'
for base_category, (object_list, for base_category, (object_list,
category_list) in variation_dict.iteritems(): category_list) in six.iteritems(variation_dict):
if base_category_list and base_category not in base_category_list: if base_category_list and base_category not in base_category_list:
continue continue
variation_category_item_list += render_category_list(category_list) variation_category_item_list += render_category_list(category_list)
......
...@@ -230,7 +230,7 @@ class AppliedRule(XMLObject, ExplainableMixin): ...@@ -230,7 +230,7 @@ class AppliedRule(XMLObject, ExplainableMixin):
sm_dict = old_dict.setdefault(line, {}) sm_dict = old_dict.setdefault(line, {})
recurse_list = deque(({get_matching_key(sm): (sm,)},)) recurse_list = deque(({get_matching_key(sm): (sm,)},))
while recurse_list: while recurse_list:
for k, x in recurse_list.popleft().iteritems(): for k, x in six.iteritems(recurse_list.popleft()):
if not k: if not k:
continue continue
if len(x) > 1: if len(x) > 1:
......
...@@ -869,7 +869,7 @@ class BusinessProcess(Path, XMLObject): ...@@ -869,7 +869,7 @@ class BusinessProcess(Path, XMLObject):
if trade_phase_list: # reduce graph if trade_phase_list: # reduce graph
next_dict = defaultdict(set) next_dict = defaultdict(set)
# build {phase: next_set} (i.e. reverse result) # build {phase: next_set} (i.e. reverse result)
for next_, phase_set in result.iteritems(): for next_, phase_set in six.iteritems(result):
for phase in phase_set: for phase in phase_set:
next_dict[phase].add(next_) next_dict[phase].add(next_)
# for each phase to remove # for each phase to remove
......
...@@ -73,9 +73,9 @@ class ContributionPredicate(Predicate, XMLObject): ...@@ -73,9 +73,9 @@ class ContributionPredicate(Predicate, XMLObject):
if getattr(aq_base(self), '_identity_criterion', None) is None: if getattr(aq_base(self), '_identity_criterion', None) is None:
self._identity_criterion = {} self._identity_criterion = {}
self._range_criterion = {} self._range_criterion = {}
for property_, value in self._identity_criterion.iteritems(): for property_, value in six.iteritems(self._identity_criterion):
result = result and (context.getProperty(property_) in value) result = result and (context.getProperty(property_) in value)
for property_, (min_, max_) in self._range_criterion.iteritems(): for property_, (min_, max_) in six.iteritems(self._range_criterion):
value = context.getProperty(property_) value = context.getProperty(property_)
if min_ is not None: if min_ is not None:
result = result and (value >= min_) result = result and (value >= min_)
......
...@@ -673,7 +673,7 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): ...@@ -673,7 +673,7 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin):
path_set_to_check): path_set_to_check):
yield d yield d
for id_, t in tree_node.visited_movement_dict.iteritems(): for id_, t in six.iteritems(tree_node.visited_movement_dict):
subdocument, path = t subdocument, path = t
to_check = path_set_to_check to_check = path_set_to_check
# do we need to change/copy the set? # do we need to change/copy the set?
......
...@@ -415,7 +415,7 @@ class AmountGeneratorMixin: ...@@ -415,7 +415,7 @@ class AmountGeneratorMixin:
del cell_aggregate[self_key] del cell_aggregate[self_key]
# Allow base_application & base_contribution to be variated. # Allow base_application & base_contribution to be variated.
for property_dict in cell_aggregate.itervalues(): for property_dict in six.itervalues(cell_aggregate):
base_amount_set = property_dict['base_application_set'] base_amount_set = property_dict['base_application_set']
variation_list = tuple(sorted(x for x in base_amount_set variation_list = tuple(sorted(x for x in base_amount_set
if not x.startswith('base_amount/'))) if not x.startswith('base_amount/')))
...@@ -481,7 +481,7 @@ class AmountGeneratorMixin: ...@@ -481,7 +481,7 @@ class AmountGeneratorMixin:
amount._setQuantity(quantity) amount._setQuantity(quantity)
amount._setTitle(self.getTitle()) amount._setTitle(self.getTitle())
amount._setDescription(self.getDescription()) amount._setDescription(self.getDescription())
for x in property_dict.iteritems(): for x in six.iteritems(property_dict):
amount._setProperty(*x) amount._setProperty(*x)
# convert to default management unit if possible # convert to default management unit if possible
amount._setQuantity(amount.getConvertedQuantity()) amount._setQuantity(amount.getConvertedQuantity())
......
...@@ -164,7 +164,7 @@ class DiscoverableMixin(CachedConvertableMixin): ...@@ -164,7 +164,7 @@ class DiscoverableMixin(CachedConvertableMixin):
else: else:
result = method() result = method()
if result is not None: if result is not None:
for key, value in result.iteritems(): for key, value in six.iteritems(result):
if value not in (None, ''): if value not in (None, ''):
kw[key]=value kw[key]=value
# Prepare the content edit parameters # Prepare the content edit parameters
......
...@@ -87,7 +87,7 @@ class GeneratedAmountList(list): ...@@ -87,7 +87,7 @@ class GeneratedAmountList(list):
else: else:
aggregate[1] += amount.getQuantity() aggregate[1] += amount.getQuantity()
from erp5.component.document.RoundingModel import RoundingProxy from erp5.component.document.RoundingModel import RoundingProxy
for amount, quantity in aggregate_dict.itervalues(): for amount, quantity in six.itervalues(aggregate_dict):
# Before we ignore 'quantity==0' amount here for better performance, # Before we ignore 'quantity==0' amount here for better performance,
# but it is not a good idea, especially when the first expand causes # but it is not a good idea, especially when the first expand causes
# non-zero quantity and then quantity becomes zero. # non-zero quantity and then quantity becomes zero.
......
...@@ -61,7 +61,7 @@ class TextContent: ...@@ -61,7 +61,7 @@ class TextContent:
title = tree.find("head/title") title = tree.find("head/title")
if title is not None: if title is not None:
headers["title"] = title.text headers["title"] = title.text
return {k: v if len(v) > 1 else v[0] for k, v in headers.iteritems()} return {k: v if len(v) > 1 else v[0] for k, v in six.iteritems(headers)}
## FTP handlers ## FTP handlers
security.declareProtected(Permissions.ModifyPortalContent, 'PUT') security.declareProtected(Permissions.ModifyPortalContent, 'PUT')
......
...@@ -61,7 +61,7 @@ if detailed_report_result: ...@@ -61,7 +61,7 @@ if detailed_report_result:
REQUEST.RESPONSE.setStatus(200, 'OK', lock=True) REQUEST.RESPONSE.setStatus(200, 'OK', lock=True)
raise Exception('Spreadsheet contains errors') raise Exception('Spreadsheet contains errors')
for base_category, category_list in category_list_spreadsheet_dict.iteritems(): for base_category, category_list in six.iteritems(category_list_spreadsheet_dict):
total_category_counter += len(category_list) total_category_counter += len(category_list)
category_path_set = set() category_path_set = set()
for category in category_list: for category in category_list:
...@@ -108,7 +108,7 @@ for base_category, category_list in category_list_spreadsheet_dict.iteritems(): ...@@ -108,7 +108,7 @@ for base_category, category_list in category_list_spreadsheet_dict.iteritems():
category_path_set.add(category_value.getRelativeUrl()) category_path_set.add(category_value.getRelativeUrl())
category_update_dict = {} category_update_dict = {}
for key, value in category.iteritems(): for key, value in six.iteritems(category):
if not create_local_property and key not in category_type_property_id_set: if not create_local_property and key not in category_type_property_id_set:
report( report(
field_type='Update', field_type='Update',
......
...@@ -143,7 +143,7 @@ class RuleTool(BaseTool): ...@@ -143,7 +143,7 @@ class RuleTool(BaseTool):
for m in message_list: for m in message_list:
expandable_dict[m.object].append(m) expandable_dict[m.object].append(m)
try: try:
for expandable, message_list in expandable_dict.iteritems(): for expandable, message_list in six.iteritems(expandable_dict):
kw = {} kw = {}
for m in message_list: for m in message_list:
kw.update(m.kw) kw.update(m.kw)
......
...@@ -436,15 +436,14 @@ class SimulationTool(BaseTool): ...@@ -436,15 +436,14 @@ class SimulationTool(BaseTool):
# Column values # Column values
column_value_dict = new_kw.pop('column_value_dict', {}) column_value_dict = new_kw.pop('column_value_dict', {})
for key, value in column_value_dict.iteritems(): for key, value in six.iteritems(column_value_dict):
new_kw['%s.%s' % (table, key)] = value new_kw['%s.%s' % (table, key)] = value
# Related keys # Related keys
# First, the passthrough (acts as default values) # First, the passthrough (acts as default values)
for key, value in new_kw.pop('related_key_dict_passthrough', {})\ for key, value in new_kw.pop('related_key_dict_passthrough', six.iteritems({})):
.iteritems():
new_kw[key] = value new_kw[key] = value
# Second, calculated values # Second, calculated values
for key, value in new_kw.pop('related_key_dict', {}).iteritems(): for key, value in new_kw.pop('related_key_dict', six.iteritems({})):
new_kw['%s_%s' % (table, key)] = value new_kw['%s_%s' % (table, key)] = value
# Simulation states matched with input and output omission # Simulation states matched with input and output omission
def getSimulationQuery(simulation_dict, omit_dict): def getSimulationQuery(simulation_dict, omit_dict):
......
...@@ -27,7 +27,7 @@ query_list = [ ...@@ -27,7 +27,7 @@ query_list = [
), ),
logical_operator='and', logical_operator='and',
) )
for original_message, portal_type_set in original_message_dict.iteritems() for original_message, portal_type_set in six.iteritems(original_message_dict)
] ]
if len(query_list) == 1: if len(query_list) == 1:
return query_list[0] return query_list[0]
......
...@@ -41,7 +41,7 @@ for f in form.get_fields(): ...@@ -41,7 +41,7 @@ for f in form.get_fields():
listbox = request.get('listbox') # XXX: hardcoded field name listbox = request.get('listbox') # XXX: hardcoded field name
if listbox is not None: if listbox is not None:
listbox_line_list = [] listbox_line_list = []
for key, value in sorted(listbox.iteritems()): for key, value in six.iteritems(sorted(listbox)):
value['listbox_key'] = key value['listbox_key'] = key
listbox_line_list.append(value) listbox_line_list.append(value)
doaction_param_list['listbox'] = tuple(listbox_line_list) doaction_param_list['listbox'] = tuple(listbox_line_list)
......
...@@ -159,7 +159,7 @@ class TestBusinessTemplateTwoFileExport(ERP5TypeTestCase): ...@@ -159,7 +159,7 @@ class TestBusinessTemplateTwoFileExport(ERP5TypeTestCase):
test_page = self.portal.portal_components[test_component_id] test_page = self.portal.portal_components[test_component_id]
for property_id, property_value in test_component_kw.iteritems(): for property_id, property_value in six.iteritems(test_component_kw):
self.assertEqual(test_page.getProperty(property_id), property_value) self.assertEqual(test_page.getProperty(property_id), property_value)
def test_twoFileImportExportForWebPage(self): def test_twoFileImportExportForWebPage(self):
...@@ -211,7 +211,7 @@ class TestBusinessTemplateTwoFileExport(ERP5TypeTestCase): ...@@ -211,7 +211,7 @@ class TestBusinessTemplateTwoFileExport(ERP5TypeTestCase):
(js_file_id, js_document_kw), (js_file_id, js_document_kw),
(css_file_id, css_document_kw)]: (css_file_id, css_document_kw)]:
web_page = self.portal.web_page_module[web_file[0]] web_page = self.portal.web_page_module[web_file[0]]
for property_id, property_value in web_file[1].iteritems(): for property_id, property_value in six.iteritems(web_file[1]):
self.assertEqual(web_page.getProperty(property_id), property_value) self.assertEqual(web_page.getProperty(property_id), property_value)
def test_twoFileImportExportForPythonScript(self): def test_twoFileImportExportForPythonScript(self):
...@@ -275,7 +275,7 @@ class TestBusinessTemplateTwoFileExport(ERP5TypeTestCase): ...@@ -275,7 +275,7 @@ class TestBusinessTemplateTwoFileExport(ERP5TypeTestCase):
import_template.install() import_template.install()
image_page = self.portal.image_module[image_file_id] image_page = self.portal.image_module[image_file_id]
for property_id, property_value in image_document_kw.iteritems(): for property_id, property_value in six.iteritems(image_document_kw):
self.assertEqual(image_page.getProperty(property_id), property_value) self.assertEqual(image_page.getProperty(property_id), property_value)
...@@ -344,7 +344,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -344,7 +344,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
file_page = self.portal.document_module[file_id] file_page = self.portal.document_module[file_id]
for property_id, property_value in file_document_kw.iteritems(): for property_id, property_value in six.iteritems(file_document_kw):
self.assertEqual(getattr(file_page, property_id), property_value) self.assertEqual(getattr(file_page, property_id), property_value)
def test_twoFileImportExportForFileIdentifyingTypeByContentTypeJS(self): def test_twoFileImportExportForFileIdentifyingTypeByContentTypeJS(self):
...@@ -515,7 +515,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -515,7 +515,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
file_page = self.portal.portal_skins[skin_folder_id][test_file_id] file_page = self.portal.portal_skins[skin_folder_id][test_file_id]
for property_id, property_value in file_document_kw.iteritems(): for property_id, property_value in six.iteritems(file_document_kw):
self.assertEqual(getattr(file_page, property_id), property_value) self.assertEqual(getattr(file_page, property_id), property_value)
def test_twoFileImportExportForPDF(self): def test_twoFileImportExportForPDF(self):
...@@ -570,7 +570,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -570,7 +570,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
method_page = catalog[method_id] method_page = catalog[method_id]
for property_id, property_value in method_document_kw.iteritems(): for property_id, property_value in six.iteritems(method_document_kw):
self.assertEqual(getattr(method_page, property_id), property_value) self.assertEqual(getattr(method_page, property_id), property_value)
def test_twoFileImportExportForERP5SQLMethodInCatalog(self): def test_twoFileImportExportForERP5SQLMethodInCatalog(self):
...@@ -618,7 +618,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -618,7 +618,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
method_page = catalog[method_id] method_page = catalog[method_id]
for property_id, property_value in method_document_kw.iteritems(): for property_id, property_value in six.iteritems(method_document_kw):
self.assertEqual(getattr(method_page, property_id), property_value) self.assertEqual(getattr(method_page, property_id), property_value)
def test_twoFileImportExportForCatalogMethodInPortalSkins(self): def test_twoFileImportExportForCatalogMethodInPortalSkins(self):
...@@ -664,7 +664,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -664,7 +664,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
method_page = skin_folder[method_id] method_page = skin_folder[method_id]
for property_id, property_value in method_document_kw.iteritems(): for property_id, property_value in six.iteritems(method_document_kw):
self.assertEqual(getattr(method_page, property_id), property_value) self.assertEqual(getattr(method_page, property_id), property_value)
def test_twoFileImportExportForZopePageTemplate(self): def test_twoFileImportExportForZopePageTemplate(self):
...@@ -703,7 +703,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -703,7 +703,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
page_template_page = self.portal.portal_skins[skin_folder_id][page_template_id] page_template_page = self.portal.portal_skins[skin_folder_id][page_template_id]
for property_id, property_value in page_template_kw.iteritems(): for property_id, property_value in six.iteritems(page_template_kw):
self.assertEqual(getattr(page_template_page, property_id), property_value) self.assertEqual(getattr(page_template_page, property_id), property_value)
def test_twoFileImportExportForDTMLMethodIdentifyingTypeByTitle(self): def test_twoFileImportExportForDTMLMethodIdentifyingTypeByTitle(self):
...@@ -754,7 +754,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -754,7 +754,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
dtml_method_page = self.portal.portal_skins[skin_folder_id][dtml_method_id] dtml_method_page = self.portal.portal_skins[skin_folder_id][dtml_method_id]
for property_id, property_value in dtml_method_kw.iteritems(): for property_id, property_value in six.iteritems(dtml_method_kw):
self.assertEqual(getattr(dtml_method_page, property_id), property_value) self.assertEqual(getattr(dtml_method_page, property_id), property_value)
def test_twoFileImportExportForDTMLMethodNotIdentifyingType(self): def test_twoFileImportExportForDTMLMethodNotIdentifyingType(self):
...@@ -805,7 +805,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -805,7 +805,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
dtml_method_page = self.portal.portal_skins[skin_folder_id][dtml_method_id] dtml_method_page = self.portal.portal_skins[skin_folder_id][dtml_method_id]
for property_id, property_value in dtml_method_kw.iteritems(): for property_id, property_value in six.iteritems(dtml_method_kw):
self.assertEqual(getattr(dtml_method_page, property_id), property_value) self.assertEqual(getattr(dtml_method_page, property_id), property_value)
def test_twoFileImportExportForOOoTemplate(self): def test_twoFileImportExportForOOoTemplate(self):
...@@ -850,7 +850,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -850,7 +850,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
OOo_template_page = self.portal.portal_skins[skin_folder_id][OOo_template_id] OOo_template_page = self.portal.portal_skins[skin_folder_id][OOo_template_id]
for property_id, property_value in OOo_template_kw.iteritems(): for property_id, property_value in six.iteritems(OOo_template_kw):
self.assertEqual(getattr(OOo_template_page, property_id), property_value) self.assertEqual(getattr(OOo_template_page, property_id), property_value)
def test_twoFileImportExportForSpreadsheetNotIdentifyingType(self): def test_twoFileImportExportForSpreadsheetNotIdentifyingType(self):
...@@ -917,7 +917,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -917,7 +917,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
test_page = self.portal.test_page_module[test_page_id] test_page = self.portal.test_page_module[test_page_id]
for property_id, property_value in test_page_data_kw.iteritems(): for property_id, property_value in six.iteritems(test_page_data_kw):
self.assertEqual(getattr(test_page, property_id), property_value) self.assertEqual(getattr(test_page, property_id), property_value)
def test_twoFileImportExportForERP5PythonScript(self): def test_twoFileImportExportForERP5PythonScript(self):
...@@ -961,7 +961,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -961,7 +961,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
python_script_page = self.portal.portal_skins[skin_folder_id][python_script_id] python_script_page = self.portal.portal_skins[skin_folder_id][python_script_id]
for property_id, property_value in python_script_kw.iteritems(): for property_id, property_value in six.iteritems(python_script_kw):
self.assertEqual(getattr(python_script_page, property_id), property_value) self.assertEqual(getattr(python_script_page, property_id), property_value)
def test_templateFolderIsCleanedUpInImportAndReexport(self): def test_templateFolderIsCleanedUpInImportAndReexport(self):
...@@ -1129,7 +1129,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO ...@@ -1129,7 +1129,7 @@ AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
# check that the page template has the expected attributes # check that the page template has the expected attributes
# but the installed version encoding is utf-8 # but the installed version encoding is utf-8
page_template = self.portal.portal_skins[skin_folder_id][page_template_id] page_template = self.portal.portal_skins[skin_folder_id][page_template_id]
for property_id, property_value in page_template_kw.iteritems(): for property_id, property_value in six.iteritems(page_template_kw):
self.assertEqual(getattr(page_template, property_id), property_value) self.assertEqual(getattr(page_template, property_id), property_value)
# uninstall and export the business template # uninstall and export the business template
......
...@@ -1593,7 +1593,7 @@ class TestInventoryList(InventoryAPITestCase): ...@@ -1593,7 +1593,7 @@ class TestInventoryList(InventoryAPITestCase):
resource_uid = resource.getUid() resource_uid = resource.getUid()
# create all movements # create all movements
for month, value in data.iteritems(): for month, value in six.iteritems(data):
for mov in value['movement_list']: for mov in value['movement_list']:
d = DateTime('%s/15 15:00 UTC' % month) d = DateTime('%s/15 15:00 UTC' % month)
self._makeMovement(start_date=d, resource_uid=resource_uid, **mov) self._makeMovement(start_date=d, resource_uid=resource_uid, **mov)
...@@ -1618,7 +1618,7 @@ class TestInventoryList(InventoryAPITestCase): ...@@ -1618,7 +1618,7 @@ class TestInventoryList(InventoryAPITestCase):
'2011/01': '2011/01':
dict(movement_list=[h(22, 8910)], after=h(291, 133344)), dict(movement_list=[h(22, 8910)], after=h(291, 133344)),
} }
for month, value in internal_data.iteritems(): for month, value in six.iteritems(internal_data):
for mov in value['movement_list']: for mov in value['movement_list']:
d = DateTime('%s/15 15:00 UTC' % month) d = DateTime('%s/15 15:00 UTC' % month)
self._makeMovement(is_internal=1, start_date=d, resource_uid=resource_uid, **mov) self._makeMovement(is_internal=1, start_date=d, resource_uid=resource_uid, **mov)
...@@ -2764,8 +2764,8 @@ class TestTrackingList(InventoryAPITestCase): ...@@ -2764,8 +2764,8 @@ class TestTrackingList(InventoryAPITestCase):
node_1_uid: 1, node_1_uid: 1,
node_2_uid: 2 node_2_uid: 2
} }
for date, location_dict in date_location_dict.iteritems(): for date, location_dict in six.iteritems(date_location_dict):
for param_id, location_uid in location_dict.iteritems(): for param_id, location_uid in six.iteritems(location_dict):
param_dict = {param_id: date} param_dict = {param_id: date}
uid_list = [x.node_uid for x in getTrackingList( uid_list = [x.node_uid for x in getTrackingList(
aggregate_uid=self.item.getUid(), **param_dict)] aggregate_uid=self.item.getUid(), **param_dict)]
...@@ -2945,7 +2945,7 @@ class TestInventoryCacheTable(InventoryAPITestCase): ...@@ -2945,7 +2945,7 @@ class TestInventoryCacheTable(InventoryAPITestCase):
True: all values from criterion_dict match given inventory_line. True: all values from criterion_dict match given inventory_line.
False otherwise. False otherwise.
""" """
for criterion_id, criterion_value in criterion_dict.iteritems(): for criterion_id, criterion_value in six.iteritems(criterion_dict):
if criterion_id not in inventory_line \ if criterion_id not in inventory_line \
or criterion_value != inventory_line[criterion_id]: or criterion_value != inventory_line[criterion_id]:
return False return False
...@@ -3733,7 +3733,7 @@ class BaseTestUnitConversion(InventoryAPITestCase): ...@@ -3733,7 +3733,7 @@ class BaseTestUnitConversion(InventoryAPITestCase):
def setUpUnitDefinition(self): def setUpUnitDefinition(self):
unit_module = self.portal.quantity_unit_conversion_module unit_module = self.portal.quantity_unit_conversion_module
for base, t in self.QUANTITY_UNIT_DICT.iteritems(): for base, t in six.iteritems(self.QUANTITY_UNIT_DICT):
standard, definition_dict = t standard, definition_dict = t
group = unit_module._getOb(base, None) group = unit_module._getOb(base, None)
...@@ -3745,7 +3745,7 @@ class BaseTestUnitConversion(InventoryAPITestCase): ...@@ -3745,7 +3745,7 @@ class BaseTestUnitConversion(InventoryAPITestCase):
if group.getValidationState() in ('draft', 'invalidated'): if group.getValidationState() in ('draft', 'invalidated'):
group.validate() group.validate()
for unit, amount in definition_dict.iteritems(): for unit, amount in six.iteritems(definition_dict):
definition = group._getOb(unit, None) definition = group._getOb(unit, None)
if definition is None: if definition is None:
definition = group.newContent( definition = group.newContent(
...@@ -3776,7 +3776,7 @@ class BaseTestUnitConversion(InventoryAPITestCase): ...@@ -3776,7 +3776,7 @@ class BaseTestUnitConversion(InventoryAPITestCase):
def getNeededCategoryList(self): def getNeededCategoryList(self):
category_list = ['metric_type/' + c for c in self.METRIC_TYPE_CATEGORY_LIST] category_list = ['metric_type/' + c for c in self.METRIC_TYPE_CATEGORY_LIST]
for base, t in self.QUANTITY_UNIT_DICT.iteritems(): for base, t in six.iteritems(self.QUANTITY_UNIT_DICT):
standard, definition_dict = t standard, definition_dict = t
quantity = 'quantity_unit/%s/' % base quantity = 'quantity_unit/%s/' % base
......
...@@ -113,8 +113,8 @@ class TestSpellChecking(ERP5TypeTestCase): ...@@ -113,8 +113,8 @@ class TestSpellChecking(ERP5TypeTestCase):
""" """
message = '"%s" is misspelled, suggestion are : "%s"' message = '"%s" is misspelled, suggestion are : "%s"'
result_dict = {} result_dict = {}
for word, result_list in self.spellChecker(sentence).iteritems(): for word, result_list in six.iteritems(self.spellChecker(sentence)):
filtered_result_list = filter(lambda x: x not in ('*', ''), result_list) filtered_result_list = [x for x in result_list if x not in ('*', '')]
if filtered_result_list: if filtered_result_list:
result_dict[word] = message % (word, \ result_dict[word] = message % (word, \
filtered_result_list[0].split(':')[-1].strip()) filtered_result_list[0].split(':')[-1].strip())
......
...@@ -109,7 +109,7 @@ class BusinessTemplateInfoBase: ...@@ -109,7 +109,7 @@ class BusinessTemplateInfoBase:
def parse(file_path): def parse(file_path):
action_information = importXML(connection, file_path) action_information = importXML(connection, file_path)
action_information.__repr__() action_information.__repr__()
for key, value in action_information.__dict__.iteritems(): for key, value in six.iteritems(action_information.__dict__):
if value not in (None, "") and key in ('action', 'condition') : if value not in (None, "") and key in ('action', 'condition') :
setattr(action_information, key, value.text) setattr(action_information, key, value.text)
actions = action_information.__dict__.copy() actions = action_information.__dict__.copy()
......
...@@ -112,7 +112,7 @@ class IndexableObjectWrapper(object): ...@@ -112,7 +112,7 @@ class IndexableObjectWrapper(object):
skip_role_set = set() skip_role_set = set()
skip_role = skip_role_set.add skip_role = skip_role_set.add
clear_skip_role = skip_role_set.clear clear_skip_role = skip_role_set.clear
for group_id, role_list in mergedLocalRoles(ob).iteritems(): for group_id, role_list in six.iteritems(mergedLocalRoles(ob)):
new_role_list = [] new_role_list = []
new_role = new_role_list.append new_role = new_role_list.append
clear_skip_role() clear_skip_role()
...@@ -142,7 +142,7 @@ class IndexableObjectWrapper(object): ...@@ -142,7 +142,7 @@ class IndexableObjectWrapper(object):
no_indexable_role = self.__catalog_role_set.isdisjoint no_indexable_role = self.__catalog_role_set.isdisjoint
return ( return (
group_id group_id
for group_id, role_list in self.__getLocalRoleDict().iteritems() for group_id, role_list in six.iteritems(self.__getLocalRoleDict())
if group_id not in self.__user_set and if group_id not in self.__user_set and
# group_id is returned only if any of its roles is indexable # group_id is returned only if any of its roles is indexable
not no_indexable_role(role_list) not no_indexable_role(role_list)
...@@ -197,7 +197,7 @@ class IndexableObjectWrapper(object): ...@@ -197,7 +197,7 @@ class IndexableObjectWrapper(object):
'': allowed_role_set, '': allowed_role_set,
} }
optimized_role_set = set() optimized_role_set = set()
for role_definition_group, user_and_role_list in local_roles_group_id_dict.iteritems(): for role_definition_group, user_and_role_list in six.iteritems(local_roles_group_id_dict):
group_allowed_set = allowed_by_local_roles_group_id.setdefault( group_allowed_set = allowed_by_local_roles_group_id.setdefault(
role_definition_group, role_definition_group,
set(), set(),
...@@ -212,7 +212,7 @@ class IndexableObjectWrapper(object): ...@@ -212,7 +212,7 @@ class IndexableObjectWrapper(object):
user_view_permission_role_dict = {} user_view_permission_role_dict = {}
catalog_role_set = self.__catalog_role_set catalog_role_set = self.__catalog_role_set
user_set = self.__user_set user_set = self.__user_set
for group_id, role_list in self.__getLocalRoleDict().iteritems(): for group_id, role_list in six.iteritems(self.__getLocalRoleDict()):
# Warning: only valid when group_id is candidate for indexation in a # Warning: only valid when group_id is candidate for indexation in a
# catalog_role column ! # catalog_role column !
group_id_is_user = group_id in user_set group_id_is_user = group_id in user_set
...@@ -239,7 +239,7 @@ class IndexableObjectWrapper(object): ...@@ -239,7 +239,7 @@ class IndexableObjectWrapper(object):
group_allowed_set.add(prefix + ':' + role) group_allowed_set.add(prefix + ':' + role)
# sort and freeze `allowed` principals # sort and freeze `allowed` principals
for local_roles_group_id, allowed in allowed_by_local_roles_group_id.iteritems(): for local_roles_group_id, allowed in six.iteritems(allowed_by_local_roles_group_id):
allowed_by_local_roles_group_id[local_roles_group_id] = tuple(sorted(allowed)) allowed_by_local_roles_group_id[local_roles_group_id] = tuple(sorted(allowed))
self.__security_parameter_cache = result = ( self.__security_parameter_cache = result = (
...@@ -758,11 +758,11 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject): ...@@ -758,11 +758,11 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject):
) )
query_list = [] query_list = []
append = query_list.append append = query_list.append
for key, value in role_column_dict.iteritems(): for key, value in six.iteritems(role_column_dict):
append(SimpleQuery(**{key : value})) append(SimpleQuery(**{key : value}))
if security_uid_dict: if security_uid_dict:
catalog_security_uid_groups_columns_dict = self.getSQLCatalog().getSQLCatalogSecurityUidGroupsColumnsDict() catalog_security_uid_groups_columns_dict = self.getSQLCatalog().getSQLCatalogSecurityUidGroupsColumnsDict()
for local_roles_group_id, security_uid_list in security_uid_dict.iteritems(): for local_roles_group_id, security_uid_list in six.iteritems(security_uid_dict):
assert security_uid_list assert security_uid_list
append(SimpleQuery( append(SimpleQuery(
**{catalog_security_uid_groups_columns_dict[local_roles_group_id]: security_uid_list} **{catalog_security_uid_groups_columns_dict[local_roles_group_id]: security_uid_list}
...@@ -941,7 +941,7 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject): ...@@ -941,7 +941,7 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject):
security_uid_dict, security_uid_dict,
w.optimised_roles_and_users, w.optimised_roles_and_users,
) = getSecurityUidDict(document_w) ) = getSecurityUidDict(document_w)
for local_roles_group_id, security_uid in security_uid_dict.iteritems(): for local_roles_group_id, security_uid in six.iteritems(security_uid_dict):
catalog_column = catalog_security_uid_groups_columns_dict.get( catalog_column = catalog_security_uid_groups_columns_dict.get(
local_roles_group_id, local_roles_group_id,
default_security_uid_column, default_security_uid_column,
...@@ -1207,7 +1207,7 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject): ...@@ -1207,7 +1207,7 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject):
suffix = ('' if forward else '__related') + '__uid' suffix = ('' if forward else '__related') + '__uid'
parent_document_set = base_category_dict.pop('parent', None) parent_document_set = base_category_dict.pop('parent', None)
query_list = [] query_list = []
for base_category_id, document_set in base_category_dict.iteritems(): for base_category_id, document_set in six.iteritems(base_category_dict):
column = prefix + base_category_id + suffix column = prefix + base_category_id + suffix
category_query = SimpleQuery(**{ category_query = SimpleQuery(**{
column: {document.getUid() for document in document_set}, column: {document.getUid() for document in document_set},
......
...@@ -114,7 +114,7 @@ class FilterDict(object): ...@@ -114,7 +114,7 @@ class FilterDict(object):
def __setitem__(self, key, item): def __setitem__(self, key, item):
filter_ = self[key] filter_ = self[key]
for k, v in item.iteritems(): for k, v in six.iteritems(item):
filter_[k] = v filter_[k] = v
def get(self, key, default=None): def get(self, key, default=None):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment