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):
# List all valid cell ids for current base_id.
object_id_list = []
for obj in self.objectValues():
object_id = obj.getId()
if object_id.find(base_id) == 0:
# Check that all '_'-separated fields are of int type.
if (object_id) > len(base_id):
try:
int(object_id[len(base_id)+1:].split('_')[0])
test = self._getOb(object_id) # If the object was created
# during this transaction,
# then we do not need to
# work on it
object_id_list.append(object_id)
except (ValueError, KeyError):
pass
base_id_len = len(base_id)
for object_id in self.objectIds():
object_id_list = object_id.split('_')
if len(object_id_list) > 1 and object_id_list.pop(0) == base_id:
try:
# Check that all '_'-separated fields are of int type (once
# base_id is poped).
[int(x) for x in object_id_list]
self._getOb(object_id) # If the object was created
# during this transaction,
# then we do not need to
# work on it
except (ValueError, KeyError):
pass
else:
object_id_list.append(object_id)
# Prepend 'temp_' to all cells, to avoid id conflicts while renaming.
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