[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