hi Massimo,

didn't realize exec_environment was not recommended. Perhaps that
could be mentioned in the manual (p 125).

How would you recommend I import my model? I created models/
__init__.py and then tried:
>>> from gluon.sql import SQLDB
>>> from applications.test.models import db

which threw "NameError: name 'SQLDB' is not defined"

Richard


On Aug 28, 6:07 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> Althought exec_environment exists I think of it more of workaround
> than something that should really be used.
>
> If your my_script.py needs to call a certain function that function
> (f) belongs to a model, not a controller. If you put in model you do
> not need exec_environment and you can just call it. You can still
> expose it in a controller (def f(): return f())/
>
> The other issue many be Auth. You should not call from script a
> function that requires login because your script probably does not do
> logs in.
>
> Massimo
>
> On Aug 28, 2:22 am, Richard <richar...@gmail.com> wrote:
>
> > hello,
>
> > I want to create a script that interacts with my web2py app, and which
> > I can call with just "python my_script.py"
> > Until now I have been using:
>
> > > cd /home/web2py && python web2py.py --import_models --no-cron 
> > > --shell=test --run=applications/test/modules/my_script.py
>
> > I tried with exec_environment() but Auth is giving me trouble, which
> > seems to require a real request object.
> > This is the error I get:
>
> >   File "applications/test/modules/my_script.py", line 2, in <module>
> >     test = exec_environment('applications/test/models/db.py')
> >   File "/home/web2py/gluon/shell.py", line 63, in exec_environment
> >     execfile(pyfile, env)
> >   File "applications/test/models/db.py", line 18, in <module>
> >     auth = Auth(globals(), db)
> >   File "/home/web2py/gluon/tools.py", line 327, in __init__
> >     self.settings.login_url = self.url('user', args='login')
> >   File "/home/web2py/gluon/tools.py", line 289, in url
> >     f=f, args=args, vars=vars)
> >   File "/home/web2py/gluon/html.py", line 175, in URL
> >     raise SyntaxError, 'not enough information to build the url'
>
> > So, is there a way to create dummy Request objects that will satisfy
> > Auth?
> > Or is there perhaps a better way to create a standalone script?
>
> > Richard
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to