cleaned up examples/controller/global.py
This commit is contained in:
@@ -4,72 +4,48 @@ response.menu = [['home', False, '/%s/default/index'
|
||||
% request.application], ['docs', True,
|
||||
'/%s/global/vars' % request.application]]
|
||||
|
||||
|
||||
def get(args):
|
||||
try:
|
||||
obj = globals(),get(args[0])
|
||||
for k in range(1,len(args)):
|
||||
obj = getattr(obj,args[k])
|
||||
return obj
|
||||
except:
|
||||
return None
|
||||
|
||||
def vars():
|
||||
"""the running controller function!"""
|
||||
|
||||
title = '.'.join(request.args)
|
||||
attributes = {}
|
||||
if not request.args:
|
||||
(
|
||||
doc,
|
||||
keys,
|
||||
t,
|
||||
c,
|
||||
d,
|
||||
value,
|
||||
) = (
|
||||
'Global variables',
|
||||
globals(),
|
||||
None,
|
||||
None,
|
||||
(),
|
||||
None,
|
||||
)
|
||||
(title, args) = ('globals()', '')
|
||||
(doc,keys,t,c,d,value)=('Global variables',globals(),None,None,[],None)
|
||||
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:
|
||||
obj = get(request.args)
|
||||
if obj:
|
||||
doc = getattr(obj,'__doc__','no documentation')
|
||||
keys = dir(obj)
|
||||
t = type(obj)
|
||||
c = getattr(obj,'__class__',None)
|
||||
d = getattr(obj,'__bases__',None)
|
||||
|
||||
for key in keys:
|
||||
a = getattr(obj,key,None)
|
||||
if a and not isinstance(a,DAL):
|
||||
doc1 = getattr(a, '__doc__', '')
|
||||
t1 = type(a)
|
||||
c1 = getattr(a,'__class__',None)
|
||||
d1 = getattr(a,'__bases__',None)
|
||||
key = '.'.join(request.args)+'.'+key
|
||||
attributes[key] = (doc1, t1, c1, d1)
|
||||
else:
|
||||
doc = 'Unkown'
|
||||
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 += '.'
|
||||
t = c = d = None
|
||||
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,
|
||||
args=request.args,
|
||||
t=t,
|
||||
c=c,
|
||||
d=d,
|
||||
|
||||
Reference in New Issue
Block a user