'Gathers Events from all user modules where .get_events() callable is available'

def collect_events(self, request):

    modules = request.user.profile.get_perspective().get_modules()
    for module in modules:
        if request.user.profile.has_permission(module):
            try:
                import_name = (str(module.name) + '.events')
                imodule = __import__(import_name, fromlist=[str(module.name)])
                if hasattr(imodule, 'get_events'):
                    collected = imodule.get_events(request)
                    self.events.extend(collected)
            except:
                pass
