diff --git a/product/ERP5Type/XMLMatrix.py b/product/ERP5Type/XMLMatrix.py index 6f9b6541bff343a12fcb980331471ce8e4c1da75..847ea3eb0697df4e77743f96fda1f37fddb929be 100644 --- a/product/ERP5Type/XMLMatrix.py +++ b/product/ERP5Type/XMLMatrix.py @@ -75,15 +75,9 @@ class XMLMatrix(Folder): if not self.index.has_key(base_id): return None - cell_id_list = [base_id] - append = cell_id_list.append - index = self.index[base_id] - for i, my_id in enumerate(kw): - try: - append(str(index[i][my_id])) - except KeyError: - return None - cell_id = '_'.join(cell_id_list) + cell_id = self.keyToId(kw, base_id = base_id) + if cell_id is None: + return None return self.get(cell_id) security.declareProtected( Permissions.AccessContentsInformation, @@ -493,16 +487,10 @@ class XMLMatrix(Folder): if not self.index.has_key(base_id): return None - cell_id_list = [base_id] - - base_item = self.index[base_id] - try: - cell_id_list.extend(base_item[i][my_id] for i, my_id in enumerate(kw)) - except KeyError: + cell_id = self.keyToId(kw, base_id = base_id) + if cell_id is None: raise KeyError, 'Invalid key: %s' % str(kw) - cell_id = "_".join(cell_id_list) - cell = self.get(cell_id) if cell is not None: return cell