import boards PARAM_NEXT = 'next' PARAMETER_METHOD = 'method' class DispatcherMixin: """ This class contains a dispather method that can run a method specified by 'method' request parameter. """ def __init__(self): self.user = None def dispatch_method(self, *args, **kwargs): request = args[0] self.user = request.user method_name = None if PARAMETER_METHOD in request.GET: method_name = request.GET[PARAMETER_METHOD] elif PARAMETER_METHOD in request.POST: method_name = request.POST[PARAMETER_METHOD] if method_name: return getattr(self, method_name)(*args, **kwargs) class FileUploadMixin: def get_max_upload_size(self): return boards.settings.get_int('Forms', 'MaxFileSize') class PaginatedMixin: def set_page_urls(self, paginator, params): params['prev_page_link'] = paginator.get_prev_page_url() params['next_page_link'] = paginator.get_next_page_url()