Commit aadca61e authored by Vincent Pelletier's avatar Vincent Pelletier

Compute loop invariants outside of loop.

Iterate over object ids instead of over object values.
Instead of using find, then spliting string, first split and compare with list items.
Check that *all* subparts of cell id are ints, not just the first one.
Remove unneeded value assignment.
Fix comment.
Clarify "try" structure: append is what must happen if no error is raised.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@18557 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent e507f8da
...@@ -212,20 +212,22 @@ class XMLMatrix(Folder): ...@@ -212,20 +212,22 @@ class XMLMatrix(Folder):
# List all valid cell ids for current base_id. # List all valid cell ids for current base_id.
object_id_list = [] object_id_list = []
for obj in self.objectValues(): base_id_len = len(base_id)
object_id = obj.getId() for object_id in self.objectIds():
if object_id.find(base_id) == 0: object_id_list = object_id.split('_')
# Check that all '_'-separated fields are of int type. if len(object_id_list) > 1 and object_id_list.pop(0) == base_id:
if (object_id) > len(base_id):
try: try:
int(object_id[len(base_id)+1:].split('_')[0]) # Check that all '_'-separated fields are of int type (once
test = self._getOb(object_id) # If the object was created # base_id is poped).
[int(x) for x in object_id_list]
self._getOb(object_id) # If the object was created
# during this transaction, # during this transaction,
# then we do not need to # then we do not need to
# work on it # work on it
object_id_list.append(object_id)
except (ValueError, KeyError): except (ValueError, KeyError):
pass pass
else:
object_id_list.append(object_id)
# Prepend 'temp_' to all cells, to avoid id conflicts while renaming. # Prepend 'temp_' to all cells, to avoid id conflicts while renaming.
for object_id in object_id_list: for object_id in object_id_list:
......
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