83 lines
1.8 KiB
Python
83 lines
1.8 KiB
Python
|
|
session.forget()
|
|
|
|
response.menu = [['home', False, '/%s/default/index'
|
|
% request.application], ['docs', True,
|
|
'/%s/global/vars' % request.application]]
|
|
|
|
|
|
def vars():
|
|
"""the running controller function!"""
|
|
|
|
if not request.args:
|
|
(
|
|
doc,
|
|
keys,
|
|
t,
|
|
c,
|
|
d,
|
|
value,
|
|
) = (
|
|
'Global variables',
|
|
globals(),
|
|
None,
|
|
None,
|
|
(),
|
|
None,
|
|
)
|
|
(title, args) = ('globals()', '')
|
|
elif len(request.args) < 3:
|
|
args = '.'.join(request.args)
|
|
try:
|
|
doc = eval(args + '.__doc__')
|
|
except:
|
|
doc = 'no documentation'
|
|
try:
|
|
keys = eval('dir(%s)' % args)
|
|
except:
|
|
keys = []
|
|
t = eval('type(%s)' % args)
|
|
try:
|
|
c = eval('%s.__class__' % args)
|
|
except:
|
|
c = None
|
|
try:
|
|
d = eval('%s.__bases__' % args)
|
|
except:
|
|
d = None
|
|
title = args
|
|
args += '.'
|
|
else:
|
|
raise HTTP(400)
|
|
attributes = {}
|
|
for key in keys:
|
|
a = args + key
|
|
if eval('isinstance(%s,SQLDB)' % a) or a == 'vars':
|
|
continue
|
|
try:
|
|
doc1 = eval(a + '.__doc__')
|
|
except:
|
|
doc1 = 'no documentation'
|
|
t1 = eval('type(%s)' % a)
|
|
try:
|
|
c1 = eval('%s.__class__' % a)
|
|
except:
|
|
c1 = None
|
|
try:
|
|
d1 = eval('%s.__bases__' % a)
|
|
except:
|
|
d1 = ()
|
|
attributes[a] = (doc1, t1, c1, d1)
|
|
return dict(
|
|
title=title,
|
|
args=args,
|
|
t=t,
|
|
c=c,
|
|
d=d,
|
|
doc=doc,
|
|
attributes=attributes,
|
|
)
|
|
|
|
|
|
|