import logging
logger = logging.getLogger('extension')
import sys
from roundup import __version__ as roundup_version
def AboutPage(db):
"report useful info about this tracker"
def is_module_loaded(module):
modules = list(sys.modules.keys())
return module in modules
def get_status_of_module(module, prefix=None, version=True):
modules = list(sys.modules.keys())
is_enabled = module in modules
if is_enabled:
if module == 'pyme':
from pyme import version
version="version %s"%version.versionstr
elif module == 'pychart':
from pychart import version
version="version %s"%version.version
elif module == 'sqlite3':
from sqlite3 import version
version="version %s"%version
elif module == 'xapian':
from xapian import version_string
version="version %s"%version_string()
else:
if version:
m = __import__(module)
try:
version="version %s"%m.__version__
except AttributeError:
version="version unavailable - exception thrown"
else:
version="version unavailable"
if prefix:
return "%s %s %s enabled: %s"%(prefix, module, version, is_enabled)
else:
return "Module: %s %s enabled: %s"%(module, version, is_enabled)
else:
if prefix:
return "%s %s enabled: %s"%(prefix, module, is_enabled)
else:
return "Module: %s enabled: %s"%(module, is_enabled)
info = []
info.append("Tracker name: %s
"%db.config['TRACKER_NAME'])
info.append("
") # include pre to prevent wrapping of values
for key in list(db._client.env.keys()):
info.append("%s=%s"%(key,db._client.env[key]) + "
")
info.append("")
return "\n".join(info)
def init(instance):
instance.registerUtil('AboutPage', AboutPage)