#NEWLINE# def region( self , region , * args ) : #NEWLINE# #INDENT# "Decorate a function to cache itself using a cache region\n\n        The region decorator requires arguments if there are more than\n        two of the same named function, in the same module. This is\n        because the namespace used for the functions cache is based on\n        the functions name and the module.\n\n\n        Example::\n\n            # Assuming a cache object is available like:\n            cache = CacheManager(dict_of_config_options)\n\n\n            def populate_things():\n\n                @cache.region('short_term', 'some_data')\n                def load(search_term, limit, offset):\n                    return load_the_data(search_term, limit, offset)\n\n                return load('rabbits', 20, 0)\n\n        .. note::\n\n            The function being decorated must only be called with\n            positional arguments.\n\n        " #NEWLINE# return cache_region ( region , * self )