class SuperAction(object): def __init__(self): self.request = None self.manager = ClientManager() self.response = None def process(self, request): current_page = request.page if request.action == ACTION_LOGIN: self.response = self.login_client(request) elif request.action == ACTION_LOGOUT: self.response = self.logout_client(current_page, request) elif request.action == ACTION_ACCOUNTS: client_name = request.parameters['name'] accounts = self.manager.get_accounts(name=client_name) self.response = self.response.create_client(data=accounts) elif request.action == ACTION_TRANSFER: pass elif request.action == ACTION_OPEN_ACCOUNT: pass elif request.action == ACTION_CLOSE_ACCOUNT: pass return self.response def logout_client(self, current_page, request): client_name = request.parameters['name'] if self.manager.logout(client_name): response = Response.create_login() else: response = Response(page=current_page) return response def login_client(self, request): client_name = request.parameters['name'] client_pass = request.parameters['pass'] if self.manager.login(client_name, client_pass): response = Response.create_client() else: response = Response.create_login() return response