When you import a module, I don't think it's functions see the web2py globals. You probably have to explicitly pass db as an argument to the function you're calling in your module.
On Monday, March 7, 2011 8:53:37 AM UTC-5, spyker wrote: > I want to run a script in the commandline shell to insert records into the > database, but have a problem handling the namespace. > > When I try to run it with the '%run' option or do a 'from <script> import > *' makes no difference: I get the namespace error in the subject line: > > /home/js/web2py/lees_isi_xml6.py in plaas_artikel(rekord) > 352 categories = rekord['categories'] > 353 ut = item['ut'][0] > --> 354 print db.tables() > 355 if db(db.isi_articles.ut == ut).count() == 0: > 356 titel = item['item_title'][0] > > NameError: global name 'db' is not defined > > But when I do a 'db.tables()' in the same shell, there is no problem. > > I have started the shell with > > python web2py.py -M -S kb > > How do I get web2py to run this script? > > Regards > Johann > > -- > May grace and peace be yours in abundance through the full knowledge of > God and of Jesus our Lord! His divine power has given us everything we need > for life and godliness through the full knowledge of the one who called us > by his own glory and excellence. > 2 Pet. 1:2b,3a > >

