Commit f3ffb7b5 authored by Yoshinori Okuji's avatar Yoshinori Okuji

Optimize getCell.

Add getCellProperty.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3254 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 02327264
...@@ -67,22 +67,32 @@ class XMLMatrix(Folder): ...@@ -67,22 +67,32 @@ class XMLMatrix(Folder):
return None return None
base_id = kwd.get('base_id', 'cell') base_id = kwd.get('base_id', 'cell')
cell_id = base_id if not self.index.has_key(base_id):
if not self.index.has_key(cell_id):
return None return None
i = 0 cell_id_list = [base_id]
for my_id in kw: append = cell_id_list.append
if self.index[base_id].has_key(i): index = self.index[base_id]
if self.index[base_id][i].has_key(my_id): for i, my_id in enumerate(kw):
cell_id += '_%s' % self.index[base_id][i][my_id] try:
else: append(str(index[i][my_id]))
return None except KeyError:
else:
return None return None
i += 1 cell_id = '_'.join(cell_id_list)
return self.get(cell_id) return self.get(cell_id)
security.declareProtected( Permissions.View, 'getCellProperty' )
def getCellProperty(self, *kw , **kwd):
"""
Get a property of a cell at row and column
"""
cell = self.getCell(*kw, **kwd)
if cell is None:
return None
base_id = kwd.get('base_id', 'cell')
return cell.getProperty(base_id)
security.declareProtected( Permissions.View, 'hasCell' ) security.declareProtected( Permissions.View, 'hasCell' )
def hasCell(self, *kw , **kwd): def hasCell(self, *kw , **kwd):
""" """
......
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