[Moin-devel] CVS: MoinMoin/widget base.py,1.1,1.2 browser.py,1.1,1.2
J?rgen Hermann
jhermann at users.sourceforge.net
Tue Jun 4 13:48:06 EDT 2002
Update of /cvsroot/moin/MoinMoin/widget
In directory usw-pr-cvs1:/tmp/cvs-serv17233/widget
Modified Files:
base.py browser.py
Log Message:
Dumping version history using browser widget
Index: base.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/widget/base.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** base.py 9 May 2002 18:17:48 -0000 1.1
--- base.py 4 Jun 2002 20:47:51 -0000 1.2
***************
*** 11,17 ****
def __init__(self, request, **kw):
! pass
def render(self):
! pass
--- 11,17 ----
def __init__(self, request, **kw):
! self.request = request
def render(self):
! raise NotImplementedError
Index: browser.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/widget/browser.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** browser.py 9 May 2002 18:17:48 -0000 1.1
--- browser.py 4 Jun 2002 20:47:51 -0000 1.2
***************
*** 15,17 ****
--- 15,63 ----
def __init__(self, request, **kw):
base.Widget.__init__(self, request, **kw)
+ self.data = None
+
+ def setData(self, dataset):
+ """ Sets the data for the browser (see MoinMoin.util.dataset).
+ """
+ self.data = dataset
+
+ def render(self):
+ fmt = self.request.formatter
+
+ result = []
+ result.append(fmt.table(1, {
+ 'border': 1,
+ 'cellpadding': 3,
+ 'cellspacing': 0,
+ }))
+
+ # add header line
+ result.append(fmt.table_row(1))
+ for col in self.data.columns:
+ if col.hidden: continue
+ result.append(fmt.table_cell(1, {'align': 'Center'}))
+ result.append(fmt.strong(1))
+ result.append(col.label or col.name)
+ result.append(fmt.strong(0))
+ result.append(fmt.table_cell(0))
+ result.append(fmt.table_row(0))
+
+ # add data
+ self.data.reset()
+ row = self.data.next()
+ while row:
+ result.append(fmt.table_row(1))
+ for idx in range(len(row)):
+ if self.data.columns[idx].hidden: continue
+ attrs = {}
+ if self.data.columns[idx].align:
+ attrs['align'] = self.data.columns[idx].align
+ result.append(fmt.table_cell(1, attrs))
+ result.append(str(row[idx]))
+ result.append(fmt.table_cell(0))
+ result.append(fmt.table_row(0))
+ row = self.data.next()
+
+ result.append(fmt.table(0))
+ self.request.write(''.join(result))
More information about the Moin-devel
mailing list