def update(): form = UserForm() user = g.user person = s.query(Person).filter(Person.id == \ g.user.person_id).first() address = s.query(Address).filter(Address.id == \ person.address_id).first() user = s.query(User).filter(User.person_id == \ person.id).first() mobile = s.query(MobileNo).filter(MobileNo.person_id == \ person.id).first() if request.method == 'POST': update_user(s, person, address, user, mobile, form) return redirect(url_for('profile')) form.firstname.data = person.firstname form.middlename.data = person.middlename form.lastname.data = person.lastname form.street.data = address.street form.district.data = address.district form.city.data = address.city form.state.data = address.state form.country.data = address.country form.username.data = user.username form.password.data = user.password form.conf_pass.data = user.password form.mobile.data = mobile.number return render_template("update.html", form=form, person=person)
def setgroup(message): check_user(message) if len(message.text.split()) == 2: user = user_from_message(message, False) print(user) _, group = message.text.split() group = group.upper() users.update_user(user, group=group) response = strings.set_group_ok.format(group) bot.send_message(message.chat.id, response) bot.send_message(message.chat.id, strings.start_info) else: bot.send_message(message.chat.id, strings.wrong_command_usage)
def modifyuser(id): if "user_id" not in session: return redirect("/") if session["role"] != "admin": return render_template( "error.html", message="Sinulla ei ole oikeuksia tälle sivulle.") roles = users.get_roles() if request.method == "GET": user = users.get_user(id) return render_template( "modifyuser.html", user=user, roles=roles) if request.method == "POST": if session["csrf_token"] != request.form["csrf_token"]: abort(403) if users.update_user(request.form): user = users.get_user(id) return render_template( "modifyuser.html", user=user, roles=roles, message="Käyttäjätiedot päivitetty onnistuneesti!") else: return render_template( "error.html", message="Käyttäjätietojen päivitys epäonnistui.")
def update_user(user_id): if not request.is_json(): return 'Request type is not json' json_data = request.get_json() if users.update_user(user_id, json_data): return 'User not updated' return users.get_user(user_id)
def updateuser(): #通过id查询到要更新的数据,并渲染到更新页面 if request.method =="GET": uid=request.args.get("uid") print uid userinfo=getuser(uid) return render_template("update.html",user=userinfo) #获取到更新页面表单的值,然后提交更新 if request.method =="POST": userinfo={} userinfo["name"] = request.form['name'] userinfo["name_cn"] = request.form['name_cn'] userinfo["email"] = request.form['email'] userinfo["mobile"] = request.form['mobile'] userinfo["role"] = request.form['role'] userinfo["status"] = request.form['status'] update_user(userinfo) return redirect("/")
def user_modify(): params = request.args if request.method == 'GET' else request.form username = params.get('username') old_passwd = params.get('password') new_passwd = params.get('new_password') try_passwd = params.get('try_password') age = params.get('age') import users _is_ok, msg = users.update_user(username, old_passwd, new_passwd, try_passwd, age) return json.dumps({'_is_ok': _is_ok, 'msg': msg})
def add_points(): while True: try: r = urllib.request.urlopen("http://tmi.twitch.tv/group/user/"+cfg.CHANNEL_NAME+"/chatters") except urllib.error.HTTPError as e: print(e.code, e.reason) continue chattersJson = json.loads(r.read().decode("utf-8")) for key in chattersJson['chatters']: for name in chattersJson['chatters'][key]: user = users.get_user(name) user['points']+=cfg.PPM if name.lower() == cfg.CHANNEL_NAME.lower(): user['status'] = 2 elif key!='viewers': user['status'] = 1 else: user['status'] = 0 users.update_user(user) sleep(60)
def find_diff(u_id: str) -> Tuple[List[SkywardClass], List[SkywardClass]]: user_obj = users.get_user_by_id(u_id) mongo_grades_pkl = user_obj["grades"] mongo_grades = loads(mongo_grades_pkl) sky_data = user_obj["sky_data"] service = user_obj["service"] if sky_data == {}: raise SessionError("Session was destroyed.") try: curr_grades = SkywardAPI.from_session_data(service, sky_data).get_grades() users.update_user(u_id, {"grades": dumps(curr_grades)}) changed_grades = [] # type: List[SkywardClass] removed_grades = [] # type: List[SkywardClass] for curr_class, old_class in zip(curr_grades, mongo_grades): changed_grades.append(curr_class - old_class) removed_grades.append(old_class - curr_class) return (changed_grades, removed_grades) except SessionError: raise SessionError("Session was destroyed.")
def handle_session_error(u_id: str, email: str): users.update_user(u_id, {"sky_data": {}}) server = login_to_server() message_text = ("Your session has been destroyed. " "Please retry your login at " "{0}/profile. " "Thank you! \n\n" "--Skyward Updater".format(environ["url"])) message_html = ("<p>" "Your session has been destroyed. " "Please retry your login " "<a href=\"{0}/profile\"> here. </a>" "Thank you!" "</p><br/><br/>" "--Skyward Updater".format(environ["url"])) msg = MIMEMultipart('alternative') msg['Subject'] = "Session destroyed! :(" msg['From'] = environ["email"] msg['To'] = email msg.attach(MIMEText(message_text, "plain")) msg.attach(MIMEText(message_html, "html")) server.sendmail(environ["email"], email, msg.as_string())
def update_user_endpoint(name): try: old_user = users.get_user(name=name) updates = construct_user(request.data) updated_user = users.update_user(name=name, updates=updates) except classes.UserNotFoundError: return error_response_not_found( message='No user associated with that name.') except classes.JSONNotFoundError: return error_response_bad_request( message= 'Updated user details are required in a proper JSON request body.') except classes.UserInfoError as user_info_error: return error_response_bad_request(message=str(user_info_error)) except classes.UserConflictError as user_conflict_error: return error_response_conflict(message=str(user_conflict_error)) return success_response_with_json(user=updated_user, old_user=old_user)
def user_edit_post(): form = EditInfoForm(request.form) if users.get_csrf_token() != form.csrf_token.data: return render_template("error.html", message="Kielletty") if form.submit.data and form.validate(): id = int(form.user_id.data) if users.is_admin() or users.user_id() == id: id = form.user_id.data if users.update_user(id, form.first_name.data, form.last_name.data): player_id = players.get_player_id(id) if players.update_player(player_id[0], form.jersey.data, form.height.data, form.weight.data, form.position.data): return redirect("/users") else: return render_template("error.html", message="Päivitys ei onnistunut") else: return render_template("error.html", message="Päivitys ei onnistunut") else: return render_template("error.html", message="Ei oikeutta") else: return render_template("error.html", message="Täytä kaikki lomakkeen kohdat.")
def update_user(user_id): return users.update_user(user_id, Session)
def model_endpoint(): try: image_bytes = construct_image( request.data) # Raises exception if no bytes in request body. token = get_token(request) user = users.get_user(token=token) except classes.UserAuthenticationError as bad_token_error: return error_response_unauthorized(message=str(bad_token_error)) except classes.UserNotFoundError: return error_response_unauthorized( message='No user associated with your token.') except classes.ImageNotFoundError: return error_response_bad_request( message='Please include an image in your request body.') if int(user['quota']) <= 0: return error_response_unauthorized(message='No more request quota.', quota=user['quota'], tier=user['tier']) def predict_and_parse(image_bytes): img = (Image.open(io.BytesIO(image_bytes))).convert('RGB') x = img_to_array(img) predictor_host = open("rafiki_predictor_host.txt", "r").read().splitlines()[0] data = {'query': x.tolist()} headers = {'Content-Type': 'application/json'} r = requests.post(predictor_host, headers=headers, json=data) original_pred_output = np.asarray( ast.literal_eval(r.content.decode('utf-8'))['prediction']) top_k = request.args.get('top_k') try: top_k = int(top_k) if (top_k < 1): top_k = 5 except: top_k = 5 return { k: round(float(v), 6) for k, v in dict(original_pred_output[:top_k]).items() } try: task = get_task_in_lowercase(request) # request_id = make_request_in_queue(image=image_bytes, queue=task) # request_done = wait_for_request_done(request_id) request_done = predict_and_parse(image_bytes) if not task == 'echo': newuser = {'quota': int(user['quota']) - 1} user = users.update_user(name=user['name'], updates=newuser) except classes.InvalidTaskError as invalid_task_error: return error_response_bad_request(message=str(invalid_task_error)) except classes.AppServerTimeoutError: return error_response_service_unavailable( message='Request timeout. Please try again.') except Exception as e: print(e) return error_response_internal_server_error(message=e) return success_response_with_json(quota=user['quota'], tier=user['tier'], results=request_done)
def model_endpoint(): try: image_bytes = construct_image( request.data) # Raises exception if no bytes in request body. token = get_token(request) user = users.get_user(token=token) except classes.UserAuthenticationError as bad_token_error: return error_response_unauthorized(message=str(bad_token_error)) except classes.UserNotFoundError: return error_response_unauthorized( message='No user associated with your token.') except classes.ImageNotFoundError: return error_response_bad_request( message='Please include an image in your request body.') if int(user['quota']) <= 0: return error_response_unauthorized(message='No more request quota.', quota=user['quota'], tier=user['tier']) try: task = get_task_in_lowercase(request) request_id = make_request_in_queue(image=image_bytes, queue=task) request_done = wait_for_request_done(request_id) if not task == 'echo': newuser = {'quota': int(user['quota']) - 1} user = users.update_user(name=user['name'], updates=newuser) except classes.InvalidTaskError as invalid_task_error: return error_response_bad_request(message=str(invalid_task_error)) except classes.AppServerTimeoutError: return error_response_service_unavailable( message='Request timeout. Please try again.') except Exception as e: print(e) return error_response_internal_server_error(message=e) def nutrition_search(food_searchterm): try: topk_food = nutrition_mapping[nutrition_mapping.name.apply( lambda x: food_searchterm in str(x).lower())].iloc[0] return topk_food except: pass try: topk_food = nutrition_mapping[nutrition_mapping.altname.apply( lambda x: food_searchterm in str(x).lower())].iloc[0] return topk_food except: pass results = ast.literal_eval(str(request_done.results)) nutrition = {} for food in results.keys(): energy = 'nil' fat = 'nil' sodium = 'nil' protein = 'nil' per_serving = 'nil' try: food_searchterm = searchterms_mapping[food.lower()]['searchterms'] topk_food = nutrition_search(food_searchterm.lower()) energy = str(topk_food['Energy']) fat = str(topk_food['TotalFat']) sodium = str(topk_food['Sodium']) protein = str(topk_food['Protein']) per_serving = topk_food['portion'] except: pass nutrition[food] = { 'per_serving': per_serving, 'energy': energy, 'fat': fat, 'sodium': sodium, 'protein': protein } return success_response_with_json(quota=user['quota'], tier=user['tier'], results=request_done.results, nutrition=nutrition)