Hehe...You should have it now.
On Jan 4, 3:49 pm, mdipierro <[email protected]> wrote:
> please email me the patch as an attachment. Thanks.
>
> Massimo
>
> On Jan 4, 3:35 pm, "mr.freeze" <[email protected]> wrote:
>
>
>
> > I would like to propose a patch to add a modules section to the admin
> > app. It would have create, upload, edit and delete. It would add a
> > generic set of import statements to a newly created file.
>
> > Also I would like to change the admin upload behavior to use the
> > filename from the upload if a 'rename' value isn't provided. The
> > patch would look something like this:
>
> > Index: applications/admin/controllers/default.py
> > ===================================================================
> > --- applications/admin/controllers/default.py (revision 618)
> > +++ applications/admin/controllers/default.py (working copy)
> > @@ -430,10 +430,12 @@
> > if items: extend[c]=items[0][1]
> > items=regex_include.findall(data)
> > include[c]=[i[1] for i in items]
> > + modules=listdir(apath('%s/modules/' % app), '.*\.py$')
> > + modules.sort()
> > statics=listdir(apath('%s/static/' % app),'[^\.#].*')
> > statics.sort()
> > languages=listdir(apath('%s/languages/' % app), '[\w-]*\.py')
> > - return dict
> > (app=app,models=models,defines=defines,controllers=controllers,functions=functions,views=views,extend=extend,include=include,statics=statics,languages=languages)
> > + return dict
> > (app=app,models=models,defines=defines,controllers=controllers,functions=functions,views=views,modules=modules,extend=extend,include=include,statics=statics,languages=languages)
>
> > def create_file():
> > @@ -461,6 +463,12 @@
> > if len(filename)==5: raise SyntaxError
> > text="{{extend 'layout.html'}}\n<h1>%s</h1>\n{{=BEAUTIFY
> > (response._vars)}}" % \
> > T('This is the %(filename)s template',dict
> > (filename=filename))
> > + elif path[-9:]=='/modules/':
> > + if not filename[-3:]=='.py': filename+='.py'
> > + if len(filename)==3: raise SyntaxError
> > + text="from gluon.storage import Storage\nfrom gluon.html
> > import *\nfrom gluon.http import *\n"
> > + text+="from gluon.validators import *\nfrom gluon.sqlhtml
> > import *\nfrom gluon.contrib.markdown import WIKI\n"
> > + text+="try: from gluon.contrib.gql import SQLTable
> > \nexcept ImportError: from gluon.sql import SQLTable\nimport
> > traceback"
> > elif path[-8:]=='/static/':
> > text=""
> > else:
> > @@ -480,7 +488,8 @@
> > """ admin controller function """
> > try:
> > path=apath(request.vars.location)
> > - filename=re.sub('[^\w\./]+','_',request.vars.filename)
> > + if request.vars.filename: filename=re.sub('[^\w\./]
> > +','_',request.vars.filename)
> > + else: filename=os.path.split(request.vars.file.filename)[-1]
> > if path[-8:]=='/models/' and not filename[-3:]=='.py':
> > filename+='.py'
> > if path[-13:]=='/controllers/' and not filename[-3:]=='.py':
> > filename+='.py'
> > if path[-7:]=='/views/' and not filename[-5:]=='.html':
> > filename+='.html'
> > Index: applications/admin/views/default/design.html
> > ===================================================================
> > --- applications/admin/views/default/design.html (revision 618)
> > +++ applications/admin/views/default/design.html (working copy)
> > @@ -30,6 +30,7 @@
> > [ <a href="#models">models</a>
> > | <a href="#controllers">controllers</a>
> > | <a href="#views">views</a>
> > +| <a href="#modules">modules</a>
> > | <a href="#languages">languages</a>
> > | <a href="#static">static</a> ]</div>
> > <br/>
> > @@ -85,6 +86,22 @@
> > </ul>
> > </div>
>
> > +<h2 id="modules" onclick="collapse('modules_inner');">Modules</h2>
> > +<div id="modules_inner"><i>additional code for your application</i>
> > +<br/><br/>
> > +{{if not modules:}}
> > +There are no modules
> > +{{pass}}
> > +<ul>
> > +{{for m in modules:}}<li>{{=peekfile('modules',m)}}
> > +[ {{=editfile('modules',m)}} |
> > +<a href="/{{=request.application}}/default/delete/{{=app}}/modules/
> > {{=m}}?sender={{=request.function}}/{{=app}}">delete</a> ]
> > +</li>{{pass}}
> > +<li>{{=file_create_form('%s/modules/' % app)}}</li>
> > +<li>{{=file_upload_form('%s/modules/' % app)}}</li>
> > +</ul>
> > +</div>
> > +
> > <h2 id="languages" onclick="collapse('languages_inner');">Languages</
> > h2>
> > <div id="languages_inner"><i>translation strings for the application</
> > i>
> > <br/><br/>
>
> > If Chuck Norris did web development, he would use web2py.- Hide quoted text
> > -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---