mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 02:51:03 +00:00
Plugin moinmoin_pages: migrate to python3
This commit is contained in:
parent
73817ba85c
commit
118040e32a
1 changed files with 34 additions and 29 deletions
|
@ -1,4 +1,4 @@
|
|||
#! /usr/local/bin/python
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Overview
|
||||
# --------
|
||||
|
@ -35,7 +35,10 @@
|
|||
# (C) Copyleft 2007, The Anarcat <anarcat@koumbit.org>
|
||||
# Licensed under the GPLv2 or any later version
|
||||
|
||||
import sys, operator, os
|
||||
import operator
|
||||
import os
|
||||
from re import sub
|
||||
import sys
|
||||
|
||||
os.chdir('/export/wiki/config')
|
||||
sys.path.insert(0, '/export/wiki/config')
|
||||
|
@ -43,11 +46,10 @@ sys.path.insert(0, '/export/wiki/config')
|
|||
from MoinMoin import wikiutil
|
||||
from MoinMoin.Page import Page
|
||||
from farmconfig import wikis
|
||||
from re import sub
|
||||
import farmconfig
|
||||
|
||||
from MoinMoin.request import RequestCLI
|
||||
|
||||
|
||||
def _formatInReadableUnits(size):
|
||||
size = float(size)
|
||||
unit = u' Byte'
|
||||
|
@ -62,15 +64,17 @@ def _formatInReadableUnits(size):
|
|||
size /= 1024
|
||||
return u"%.1f %s" % (size, unit)
|
||||
|
||||
|
||||
def _getDirectorySize(path):
|
||||
try:
|
||||
dirsize = 0
|
||||
for root, dirs, files in os.walk(path):
|
||||
dirsize += sum([os.path.getsize(os.path.join(root, name)) for name in files])
|
||||
except EnvironmentError, e:
|
||||
except EnvironmentError:
|
||||
dirsize = -1
|
||||
return dirsize
|
||||
|
||||
|
||||
def main():
|
||||
for wiki in wikis:
|
||||
name = wiki[0]
|
||||
|
@ -78,9 +82,9 @@ def main():
|
|||
# XXX, hack: transform the regexp into a canonical url
|
||||
# we need canonical urls in the config for this to be clean
|
||||
# look for (foo|bar) and replace with foo
|
||||
url = sub('\(([^\|]*)(\|[^\)]*\))+', '\\1', url)
|
||||
url = sub(r'\(([^\|]*)(\|[^\)]*\))+', r'\1', url)
|
||||
# remove common regexp patterns and slap a protocol to make this a real url
|
||||
url = sub('[\^\$]|(\.\*)', '', url)
|
||||
url = sub(r'[\^\$]|(\.\*)', '', url)
|
||||
|
||||
mod = getattr(__import__(name), 'Config')
|
||||
#print "Upgradeing wiki %s (%s)" % (getattr(mod, 'sitename'), url)
|
||||
|
@ -88,12 +92,12 @@ def main():
|
|||
request = RequestCLI(url)
|
||||
pagelist = request.rootpage.getPageList(user='')
|
||||
|
||||
systemPages = [page for page in pagelist
|
||||
if wikiutil.isSystemPage(request, page)]
|
||||
systemPages = [page for page in pagelist if wikiutil.isSystemPage(request, page)]
|
||||
print(name + '.value ' + str(len(pagelist) - len(systemPages)))
|
||||
#totalsize = reduce(operator.add, [Page(request, name).size() for name in pagelist])
|
||||
#print('Accumulated page sizes' + _formatInReadableUnits(totalsize))
|
||||
|
||||
|
||||
def config():
|
||||
print("""graph_title Wiki size
|
||||
graph_vlabel Number of pages
|
||||
|
@ -106,6 +110,7 @@ graph_info The number of pages excludes system pages but includes ACL-protected
|
|||
mod = getattr(__import__(name), 'Config')
|
||||
print(name + '.label ' + getattr(mod, 'sitename'))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) > 1 and sys.argv[1] == 'config':
|
||||
config()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue