Sorry Mariano, I misspelled your name in my last post :)

To give you a better example of what you might want to do here is a more 
advanced module that makes a static class and better resembles the 
singleton pattern:

class Counter(object):
    instance = None
    
    @classmethod
    def get(cls):
        if cls.instance == None:
            cls.instance = Counter()
            
        return cls.instance
        
    def __init__(self, message='Hello World!'):
        self.message = message
        self.count = 0
        
    def get_count(self):
        self.count += 1
        return self.count
        
    def get_message(self):
        return self.message


Then your controller would look something like this now:

    from mymodule import Counter
    counter = Counter.get()
    count = counter.get_count()
    
    return dict(count=count)

By calling Counter.get() instead of Counter(), we ensure that there is only 
ever once instance of the Counter object, and that the object will last for 
the lifetime of the web2py instance.

Reply via email to