def login(): view = LoginHtmlView() model = LoginModel('conf') login = request.args.get('login', '') pw = request.args.get('pw', '') role = "#NO" if login != '': role = model.getRole(login, pw) if role == "ADMIN": return redirect(url_for('admin')) return view.draw(role)
action = { 'view' : view, 'login' : login, } def draw(view, data): view.draw(data) def redirect(view, place): """redirect to another view""" view.redirect(place) responce = { '#NO' : ('#NO', draw), '#ERROR' : ('#ERROR', draw), 'ADMIN' : ('admin.py', redirect), 'WAITER' : ('login.py', redirect), 'MANAGER' : ('login.py', redirect), 'DIRECTOR' : ('login.py', redirect), 'COOCK' : ('login.py', redirect) } view = LoginHtmlView() qtype = view.gettype() func = action[qtype] model = LoginModel('conf') role = func(model, **view.getparams()) arg, resp = responce[role] resp(view, arg)