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
|
# Overview
|
||||||
# --------
|
# --------
|
||||||
|
@ -35,7 +35,10 @@
|
||||||
# (C) Copyleft 2007, The Anarcat <anarcat@koumbit.org>
|
# (C) Copyleft 2007, The Anarcat <anarcat@koumbit.org>
|
||||||
# Licensed under the GPLv2 or any later version
|
# 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')
|
os.chdir('/export/wiki/config')
|
||||||
sys.path.insert(0, '/export/wiki/config')
|
sys.path.insert(0, '/export/wiki/config')
|
||||||
|
@ -43,33 +46,34 @@ sys.path.insert(0, '/export/wiki/config')
|
||||||
from MoinMoin import wikiutil
|
from MoinMoin import wikiutil
|
||||||
from MoinMoin.Page import Page
|
from MoinMoin.Page import Page
|
||||||
from farmconfig import wikis
|
from farmconfig import wikis
|
||||||
from re import sub
|
|
||||||
import farmconfig
|
import farmconfig
|
||||||
|
|
||||||
from MoinMoin.request import RequestCLI
|
from MoinMoin.request import RequestCLI
|
||||||
|
|
||||||
|
|
||||||
def _formatInReadableUnits(size):
|
def _formatInReadableUnits(size):
|
||||||
size = float(size)
|
size = float(size)
|
||||||
unit = u' Byte'
|
unit = u' Byte'
|
||||||
if size > 9999:
|
if size > 9999:
|
||||||
unit = u' KiB'
|
unit = u' KiB'
|
||||||
size /= 1024
|
size /= 1024
|
||||||
if size > 9999:
|
if size > 9999:
|
||||||
unit = u' MiB'
|
unit = u' MiB'
|
||||||
size /= 1024
|
size /= 1024
|
||||||
if size > 9999:
|
if size > 9999:
|
||||||
unit = u' GiB'
|
unit = u' GiB'
|
||||||
size /= 1024
|
size /= 1024
|
||||||
return u"%.1f %s" % (size, unit)
|
return u"%.1f %s" % (size, unit)
|
||||||
|
|
||||||
|
|
||||||
def _getDirectorySize(path):
|
def _getDirectorySize(path):
|
||||||
try:
|
try:
|
||||||
dirsize = 0
|
dirsize = 0
|
||||||
for root, dirs, files in os.walk(path):
|
for root, dirs, files in os.walk(path):
|
||||||
dirsize += sum([os.path.getsize(os.path.join(root, name)) for name in files])
|
dirsize += sum([os.path.getsize(os.path.join(root, name)) for name in files])
|
||||||
except EnvironmentError, e:
|
except EnvironmentError:
|
||||||
dirsize = -1
|
dirsize = -1
|
||||||
return dirsize
|
return dirsize
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
for wiki in wikis:
|
for wiki in wikis:
|
||||||
|
@ -78,9 +82,9 @@ def main():
|
||||||
# XXX, hack: transform the regexp into a canonical url
|
# XXX, hack: transform the regexp into a canonical url
|
||||||
# we need canonical urls in the config for this to be clean
|
# we need canonical urls in the config for this to be clean
|
||||||
# look for (foo|bar) and replace with foo
|
# 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
|
# 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')
|
mod = getattr(__import__(name), 'Config')
|
||||||
#print "Upgradeing wiki %s (%s)" % (getattr(mod, 'sitename'), url)
|
#print "Upgradeing wiki %s (%s)" % (getattr(mod, 'sitename'), url)
|
||||||
|
@ -88,12 +92,12 @@ def main():
|
||||||
request = RequestCLI(url)
|
request = RequestCLI(url)
|
||||||
pagelist = request.rootpage.getPageList(user='')
|
pagelist = request.rootpage.getPageList(user='')
|
||||||
|
|
||||||
systemPages = [page for page in pagelist
|
systemPages = [page for page in pagelist if wikiutil.isSystemPage(request, page)]
|
||||||
if wikiutil.isSystemPage(request, page)]
|
print(name + '.value ' + str(len(pagelist) - len(systemPages)))
|
||||||
print(name + '.value ' + str(len(pagelist)-len(systemPages)))
|
|
||||||
#totalsize = reduce(operator.add, [Page(request, name).size() for name in pagelist])
|
#totalsize = reduce(operator.add, [Page(request, name).size() for name in pagelist])
|
||||||
#print('Accumulated page sizes' + _formatInReadableUnits(totalsize))
|
#print('Accumulated page sizes' + _formatInReadableUnits(totalsize))
|
||||||
|
|
||||||
|
|
||||||
def config():
|
def config():
|
||||||
print("""graph_title Wiki size
|
print("""graph_title Wiki size
|
||||||
graph_vlabel Number of pages
|
graph_vlabel Number of pages
|
||||||
|
@ -104,7 +108,8 @@ graph_info The number of pages excludes system pages but includes ACL-protected
|
||||||
for wiki in wikis:
|
for wiki in wikis:
|
||||||
name = wiki[0]
|
name = wiki[0]
|
||||||
mod = getattr(__import__(name), 'Config')
|
mod = getattr(__import__(name), 'Config')
|
||||||
print(name + '.label ' + getattr(mod, 'sitename'))
|
print(name + '.label ' + getattr(mod, 'sitename'))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len(sys.argv) > 1 and sys.argv[1] == 'config':
|
if len(sys.argv) > 1 and sys.argv[1] == 'config':
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue