[Moin-devel] CVS: MoinMoin/stats hitcounts.py,1.1,1.2

J?rgen Hermann jhermann at users.sourceforge.net
Fri Feb 1 18:36:13 EST 2002


Update of /cvsroot/moin/MoinMoin/stats
In directory usw-pr-cvs1:/tmp/cvs-serv27445/stats

Modified Files:
	hitcounts.py 
Log Message:
show hitcounts per page


Index: hitcounts.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/stats/hitcounts.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** hitcounts.py	2002/02/02 01:03:49	1.1
--- hitcounts.py	2002/02/02 02:35:19	1.2
***************
*** 23,35 ****
  
      if _debug:
!         return chart(pagename, {})
  
      page = Page(pagename)
      result = []
      data = {
          'url': page.url("action=chart&type=hitcounts" + params),
      }
      data.update(config.chart_options)
!     result.append('<img src="%(url)s" border="1" '
          'width="%(width)d" height="%(height)d">' % data)
  
--- 23,36 ----
  
      if _debug:
!         return draw(pagename, {})
  
      page = Page(pagename)
      result = []
+     if params: params = '&' + params
      data = {
          'url': page.url("action=chart&type=hitcounts" + params),
      }
      data.update(config.chart_options)
!     result.append('<img src="%(url)s" border="0" '
          'width="%(width)d" height="%(height)d">' % data)
  
***************
*** 40,45 ****
      import cgi, sys, shutil, cStringIO
      from MoinMoin import config, webapi, eventlog, user
!     from MoinMoin.stats.chart import Chart, ChartData
  
      # prepare data
      days = []
--- 41,51 ----
      import cgi, sys, shutil, cStringIO
      from MoinMoin import config, webapi, eventlog, user
!     from MoinMoin.stats.chart import Chart, ChartData, Color
  
+     # check params
+     filterpage = None
+     if form and form.has_key('page'):
+         filterpage = form['page'].value
+ 
      # prepare data
      days = []
***************
*** 49,52 ****
--- 55,61 ----
      data = eventlog.logger.read(['VIEWPAGE', 'SAVEPAGE'])
      for event in data:
+         #print ">>>", cgi.escape(repr(event)), "<br>"
+         if filterpage and event[2]['pagename'] != filterpage:
+             continue
          time_tuple = user.current.getTime(event[0])
          day = tuple(time_tuple[0:3])
***************
*** 74,81 ****
      c.addData(ChartData(views, color='green'))
      c.addData(ChartData(edits, color='red'))
      c.option(
!         title = 'Page hits and edits',
          xtitle = 'date',
!         ytitle = '# of hits'
      )
      c.draw(c.GDC_LINE,
--- 83,103 ----
      c.addData(ChartData(views, color='green'))
      c.addData(ChartData(edits, color='red'))
+     title = 'Page hits and edits'
+     if config.sitename: title = "%s of %s" % (title, config.sitename)
+     if filterpage: title = "%s for %s" % (title, filterpage)
      c.option(
!         annotation = (len(days)-1, Color('black'), "green=view\nred=edit"),
!         title = title,
          xtitle = 'date',
!         ytitle = '# of hits',
!         title_font = c.GDC_GIANT,
!         #thumblabel = 'THUMB', thumbnail = 1, thumbval = 10,
!         #ytitle_color = Color('green'),
!         #yaxis2 = 1,
!         #ytitle2 = '# of edits',
!         #ytitle2_color = Color('red'),
!         #ylabel2_color = Color('black'),
!         requested_yinterval = 1.0,
!         stack_type = c.GDC_STACK_BESIDE
      )
      c.draw(c.GDC_LINE,





More information about the Moin-devel mailing list