
Le plugin python utilise l'API de Moinmoin pour faire le comptage des pages du wiki. On observe un saut dans le graphe, le nouveau script ne donne pas tout fait la meme valeur que l'ancien mais la nouvelle valeur est plus cohrente avec ce que donne la macro [[WikiPages]]. le nouveau script cre un fichier avec les valeurs (lancement par cron) et ne fait que renvoy ce fichier lors d'n appelle de munin. L'ancien script dpassait le timeout... darcs-hash:20080215161259-69ccb-f99da571cbb3429c1ff62ae078b8a1df0d2f42c9.gz
65 lines
1.6 KiB
Python
Executable file
65 lines
1.6 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
fichier = '/var/lib/munin/tmp/wiki_pages'
|
|
|
|
|
|
import sys,os
|
|
from MoinMoin.request import RequestCLI
|
|
|
|
sys.path.insert(0, '/etc/moin')
|
|
|
|
try :
|
|
arg = sys.argv[1]
|
|
except :
|
|
arg = ''
|
|
|
|
if arg == "config" :
|
|
print 'host_name web.rouge'
|
|
print 'graph_category wiki'
|
|
print 'graph_title Nombres de pages'
|
|
print 'graph_args --base 1000 --lower-limit 0'
|
|
print 'graph_vlabel nombre de pages'
|
|
print 'total.label Total'
|
|
print 'total.draw AREA'
|
|
print 'orphelines.label Pages orphelines'
|
|
print 'orphelines.draw AREA'
|
|
|
|
elif arg == "fichier" :
|
|
file = open('%s.next' % fichier,'w')
|
|
|
|
request = RequestCLI(u"wiki.crans.org/")
|
|
request.form = request.args = request.setup_args()
|
|
|
|
_ = request.getText
|
|
|
|
#if request.mode_getpagelinks: # prevent recursion
|
|
#return ''
|
|
|
|
# find root page.
|
|
#from MoinMoin.Page import Page
|
|
#rootpage = Page(request, u"FrontPage", is_rootpage=1)
|
|
# delete all linked pages from a dict of all pages
|
|
#print request.cfg.__dict__
|
|
pages = request.rootpage.getPageDict(user='')
|
|
orphaned = {}
|
|
orphaned.update(pages)
|
|
for page in pages.values():
|
|
links = page.getPageLinks(request)
|
|
for link in links:
|
|
if link in orphaned:
|
|
del orphaned[link]
|
|
|
|
|
|
# return a list of page links
|
|
print
|
|
|
|
|
|
file.write("total.value %d\n" % pages.__len__())
|
|
|
|
file.write("orphelines.value %d\n" % orphaned.__len__())
|
|
|
|
file.close()
|
|
os.system('mv %s.next %s' % (fichier, fichier))
|
|
else :
|
|
os.system('cat %s' % fichier)
|