{{=editfile('models',m)}}
{{=deletefile([app, 'models', m])}}
{{=peekfile('models',m)}}
{{if len(defines[m]):}}{{=T("defines tables")}} {{pass}}{{=XML(', '.join([B(table).xml() for table in defines[m]]))}}
{{pass}}
{{
controller_functions=[]
for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functions[c]]
}}
{{=T("Controllers")}}
{{if not controllers:}}
{{=T("There are no controllers")}}
{{pass}}
{{for c in controllers:}}
{{=editfile('controllers',c)}}
{{=deletefile([app,'controllers',c])}}
{{=testfile('controllers',c)}}
{{=peekfile('controllers',c)}}
{{if functions[c]:}}{{=T("exposes")}} {{pass}}{{=XML(', '.join([A(f,_href=URL(a=app,c=c[:-3],f=f)).xml() for f in functions[c]]))}}
{{pass}}
{{=T("Views")}}
{{if not views:}}
{{=T("There are no views")}}
{{pass}}
{{for c in views:}}
{{=editfile('views',c)}}
{{=deletefile([app,'views',c])}}
{{=peekfile('views',c)}}
{{if extend.has_key(c):}}{{=T("extends")}} {{=extend[c]}} {{pass}}
{{if include[c]:}}{{=T("includes")}} {{pass}}{{=XML(', '.join([B(f).xml() for f in include[c]]))}}
{{pass}}
{{=T("Static files")}}
{{if not statics:}}
{{=T("There are no static files")}}
{{pass}}
{{
path=[]
for file in statics+['']:
items=file.split('/')
file_path=items[:-1]
filename=items[-1]
while path!=file_path:
if len(file_path)>=len(path) and all([v==file_path[k] for k,v in enumerate(path)]):
path.append(file_path[len(path)])
thispath='static__'+'__'.join(path)
}}