Some of the code in the functions and classes not displayed in your original post may reference web2py globals and environment variables.
I think (I'm still learning web2py also) that running your code in the shell then has access to the web2py environment. Modules do not have access automatically (unlike models and controllers and views). You have to explicitly give your module functions and classes access to the web2py globals, environment, etc. either by importing them in the module or passing them as arguments. Here's one thread that has some more information: https://groups.google.com/forum/#!searchin/web2py/modules$20environment/web2py/FIF1JnBjuIY/f8-6QwXPpDkJ There's also a good slice on web2pyslices that gives an example. On Tuesday, June 3, 2014 3:30:02 PM UTC-4, Maurice Waka wrote: > > > When I work with the same module on python shell, its perfectly printing > out. I dont know why it does not print on web2py. Basically I imported it > without editing from python shell. Anyway since am new to web2py and > python, you could help out > On Tuesday, June 3, 2014, Derek <[email protected] <javascript:>> wrote: > > Sorry, but it looks like it's doing what you are asking of it. Perhaps > you should comment your code to make sure it's doing what you are thinking > it's doing. > > you are instantiating a new filters class, giving it the name 'o', then > you get a list of the contents of that class, run them if possible, and > then you are instantiating a new filters class, naming it 'result', kinda > like 'o' was.... and then you are returning it. Why? What's the point of > doing all that if 'o' is never going to be used? you might as well take > that out since you are just returning a new class instance anyway. > > > > > > On Tuesday, June 3, 2014 2:50:48 AM UTC-7, Maurice Waka wrote: > >> > >> from applications.Folders1.modules.myfolder1.main import main > >> from applications.Folders1.modules.myfolder1.list1 import GAMES0 > >> code..... > >> if id == name3: > >> result = location > >> return result > >> > >> else: > >> while True: > >> class Filters(object): > >> def Filter_cause(self): > >> for item in name3.split(): > >> b = False > >> for c in FILTERTYPE: > >> b = b | (item.find(c) != -1) > >> if b: > >> for (func) in GAMES0: > >> func() > >> o = Filters() > >> for stuff in dir(o): > >> if 'Filter' in stuff: > >> getattr(o, stuff)() > >> > >> result = Filters() > >> return result > >> > >> GAMES0 contains several python modules being imported. My loop works > well up to the return location, section but on looping over the 'def class > Filters', I get this message: > >> > >> <applications.Folders1.modules.myfolder1.main.Filters object at > 0x06D689F0> > >> > >> How can I make it to print out my message from any of the modules > > > > -- > > Resources: > > - http://web2py.com > > - http://web2py.com/book (Documentation) > > - http://github.com/web2py/web2py (Source code) > > - https://code.google.com/p/web2py/issues/list (Report Issues) > > --- > > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/JsESNTvfrHQ/unsubscribe. > > To unsubscribe from this group and all its topics, send an email to > [email protected] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > Dr Maurice Waka, MBCHB. > Nairobi > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

