Modification du plugins munin qui compte les pages wiki
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
This commit is contained in:
parent
beb646c01e
commit
9a5dd91558
1 changed files with 62 additions and 12 deletions
|
@ -1,15 +1,65 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
fichier = '/var/lib/munin/tmp/wiki_pages'
|
||||
|
||||
echo 'host_name web.rouge'
|
||||
echo 'graph_category wiki'
|
||||
echo 'graph_title Nombres de pages'
|
||||
echo 'graph_args --base 1000 --lower-limit 0'
|
||||
echo 'graph_vlabel nombre de pages'
|
||||
echo 'total.label Total'
|
||||
echo 'total.draw AREA'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "total.value" `find /var/local/wiki/data/pages/ -mindepth 2 -maxdepth 2 -name "current" | wc -l`
|
||||
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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue