Python flask.request.method() Examples
The following are 30
code examples of flask.request.method().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
flask.request
, or try the search function
.

Example #1
Source File: views.py From beavy with Mozilla Public License 2.0 | 9 votes |
def submit_story(): if request.method == "POST": params = request.get_json() title, url = params['title'].strip(), params['url'].strip() text = params.get('text', "").strip() if not title: return abort(400, "You have to provide a 'title'") if url: link = Link(title=title, url=url, owner_id=current_user.id) db.session.add(link) db.session.commit() return link_schema.dump(link) elif text: topic = Topic(title=title, text=text, owner_id=current_user.id) db.session.add(topic) db.session.commit() return topic_schema.dump(topic) return abort(400, "You have to provide either 'url' or 'text', too") # Just render it return {}
Example #2
Source File: app.py From wechatpy with MIT License | 7 votes |
def wechat(): signature = request.args.get("msg_signature", "") timestamp = request.args.get("timestamp", "") nonce = request.args.get("nonce", "") crypto = WeChatCrypto(TOKEN, EncodingAESKey, CorpId) if request.method == "GET": echo_str = request.args.get("echostr", "") try: echo_str = crypto.check_signature(signature, timestamp, nonce, echo_str) except InvalidSignatureException: abort(403) return echo_str else: try: msg = crypto.decrypt_message(request.data, signature, timestamp, nonce) except (InvalidSignatureException, InvalidCorpIdException): abort(403) msg = parse_message(msg) if msg.type == "text": reply = create_reply(msg.content, msg).render() else: reply = create_reply("Can not handle this for now", msg).render() res = crypto.encrypt_message(reply, nonce, timestamp) return res
Example #3
Source File: resnet_as_a_service.py From iAI with MIT License | 7 votes |
def json_classify(): if request.method == 'POST': img = Image.open(request.files['file']) #Format image to Numpy CHW and run inference, get the results of the single output node results = engine.infer(image_to_np_CHW(img))[0] #Retrive the results created by the post processor callback top_class_label, top5 = results[0], results[1] #Format data for JSON top5_str = [] for t in top5: top5_str.append((t[0], str(t[1]))) classification_data = {"top_class": top_class_label, "top5": top5_str} return jsonify ( data = classification_data ) else: return jsonify ( error = "Invalid Request Type" )
Example #4
Source File: routes.py From thewarden with MIT License | 7 votes |
def login(): if current_user.is_authenticated: return redirect(url_for("main.home")) form = LoginForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user and check_password_hash(user.password, form.password.data): login_user(user, remember=form.remember.data) # The get method below is actually very helpful # it returns None if empty. Better than using [] for a dictionary. next_page = request.args.get("next") # get the original page if next_page: return redirect(next_page) else: return redirect(url_for("main.home")) else: flash("Login failed. Please check e-mail and password", "danger") return render_template("login.html", title="Login", form=form)
Example #5
Source File: views.py From xcessiv with Apache License 2.0 | 6 votes |
def extraction_test_dataset(): path = functions.get_path_from_query_string(request) if request.method == 'GET': with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() return jsonify(extraction.test_dataset) if request.method == 'PATCH': req_body = request.get_json() with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() for key, value in six.iteritems(req_body): extraction.test_dataset[key] = value session.add(extraction) session.commit() return jsonify(extraction.test_dataset)
Example #6
Source File: auth.py From eve-auth-jwt with MIT License | 6 votes |
def _perform_verification(self, token, audiences, allowed_roles): verified, payload, account_id, roles = verify_token( token, self.secret, self.issuer, request.method, audiences, allowed_roles) if not verified: return False # Save roles for later access self.set_authen_roles(roles) # Save claims for later access self.set_authen_claims(payload) # Limit access to the authen account self.set_request_auth_value(account_id) return True
Example #7
Source File: auth.py From eve-auth-jwt with MIT License | 6 votes |
def requires_token(self, audiences=None, allowed_roles=None): """ Decorator for functions that will be protected with token authentication. Token must be provvided either through access_token parameter or Authorization header. See check_token() method for further details. """ def requires_token_wrapper(f): @wraps(f) def decorated(*args, **kwargs): try: token = request.args['access_token'] except KeyError: token = request.headers.get('Authorization', '').partition(' ')[2] if not self._perform_verification(token, audiences, allowed_roles): abort(401) return f(*args, **kwargs) return decorated return requires_token_wrapper
Example #8
Source File: __init__.py From everyclass-server with Mozilla Public License 2.0 | 6 votes |
def cron_update_remote_manifest(): """更新数据最后更新时间""" from everyclass.rpc.http import HttpRpc # 获取安卓客户端下载链接 android_manifest = HttpRpc.call(method="GET", url="https://everyclass.cdn.admirable.pro/android/manifest.json", retry=True) android_ver = android_manifest['latestVersions']['mainstream']['versionCode'] __app.config['ANDROID_CLIENT_URL'] = android_manifest['releases'][android_ver]['url'] # 更新数据最后更新时间 _api_server_status = HttpRpc.call(method="GET", url=__app.config['ENTITY_BASE_URL'] + '/info/service', retry=True, headers={'X-Auth-Token': __app.config['ENTITY_TOKEN']}) __app.config['DATA_LAST_UPDATE_TIME'] = _api_server_status["data"]["data_time"]
Example #9
Source File: auth.py From eve-auth-jwt with MIT License | 6 votes |
def check_token(self, token, allowed_roles, resource, method): """ This function is called when a token is sent throught the access_token parameter or the Authorization header as specified in the oAuth 2 specification. The provided token is validated with the JWT_SECRET defined in the Eve configuration. The token issuer (iss claim) must be the one specified by JWT_ISSUER and the audience (aud claim) must be one of the value(s) defined by the either the "audiences" resource parameter or the global JWT_AUDIENCES configuration. If JWT_ROLES_CLAIM is defined and a claim by that name is present in the token, roles are checked using this claim. If a JWT_SCOPE_CLAIM is defined and a claim by that name is present in the token, the claim value is check, and if "viewer" is present, only GET and HEAD methods will be allowed. The scope name is then added to the list of roles with the scope: prefix. If the validation succeed, the claims are stored and accessible thru the get_authen_claims() method. """ resource_conf = config.DOMAIN[resource] audiences = resource_conf.get('audiences', config.JWT_AUDIENCES) return self._perform_verification(token, audiences, allowed_roles)
Example #10
Source File: auth.py From eve-auth-jwt with MIT License | 6 votes |
def authorized(self, allowed_roles, resource, method): authorized = False if request.authorization: auth = request.authorization authorized = self.check_auth(auth.username, auth.password, allowed_roles, resource, method) else: try: access_token = request.args['access_token'] except KeyError: access_token = request.headers.get('Authorization', '').partition(' ')[2] authorized = self.check_token(access_token, allowed_roles, resource, method) return authorized
Example #11
Source File: zmirror.py From zmirror with MIT License | 6 votes |
def update_content_in_local_cache(url, content, method='GET'): """更新 local_cache 中缓存的资源, 追加content 在stream模式中使用""" if local_cache_enable and method == 'GET' and cache.is_cached(url): info_dict = cache.get_info(url) resp = cache.get_obj(url) resp.set_data(content) # 当存储的资源没有完整的content时, without_content 被设置为true # 此时该缓存不会生效, 只有当content被添加后, 缓存才会实际生效 # 在stream模式中, 因为是先接收http头, 然后再接收内容, 所以会出现只有头而没有内容的情况 # 此时程序会先将只有头部的响应添加到本地缓存, 在内容实际接收完成后再追加内容 info_dict['without_content'] = False if verbose_level >= 4: dbgprint('LocalCache_UpdateCache', url, content[:30], len(content)) cache.put_obj( url, resp, obj_size=len(content), expires=get_expire_from_mime(parse.mime), last_modified=info_dict.get('last_modified'), info_dict=info_dict, )
Example #12
Source File: zmirror.py From zmirror with MIT License | 6 votes |
def request_remote_site(): """ 请求远程服务器(high-level), 并在返回404/500时进行 domain_guess 尝试 """ # 请求被镜像的网站 # 注意: 在zmirror内部不会处理重定向, 重定向响应会原样返回给浏览器 parse.remote_response = send_request( parse.remote_url, method=request.method, headers=parse.client_header, data=parse.request_data_encoded, ) if parse.remote_response.url != parse.remote_url: warnprint("requests's remote url", parse.remote_response.url, 'does no equals our rewrited url', parse.remote_url) if 400 <= parse.remote_response.status_code <= 599: # 猜测url所对应的正确域名 dbgprint("Domain guessing for", request.url) result = guess_correct_domain() if result is not None: parse.remote_response = result
Example #13
Source File: zmirror.py From zmirror with MIT License | 6 votes |
def try_get_cached_response(url, client_header=None): """ 尝试从本地缓存中取出响应 :param url: real url with query string :type client_header: dict :rtype: Union[Response, None] """ # Only use cache when client use GET if local_cache_enable and parse.method == 'GET' and cache.is_cached(url): if client_header is not None and 'if-modified-since' in client_header and \ cache.is_unchanged(url, client_header.get('if-modified-since', None)): dbgprint('FileCacheHit-304', url) return generate_304_response() else: cached_info = cache.get_info(url) if cached_info.get('without_content', True): # 关于 without_content 的解释, 请看update_content_in_local_cache()函数 return None # dbgprint('FileCacheHit-200') resp = cache.get_obj(url) assert isinstance(resp, Response) parse.set_extra_resp_header('x-zmirror-cache', 'FileHit') return resp else: return None
Example #14
Source File: password-pwncheck.py From password_pwncheck with MIT License | 6 votes |
def v1CheckPassword(): username = '' password = '' if request.method == 'GET': username = request.args.get('u','') password = request.args.get('p','') reserve = True elif request.method == 'POST': username = request.form.get('u','') password = request.form.get('p','') reserve = False (isGood,code,reason) = pwn.verifyPasswordGood(username, password, reserve=reserve, always_true=cfg.yesman) logStore.code = code logStore.isValid = isGood logStore.user = username message = u','.join(map(str,[isGood,code,reason])) return message
Example #15
Source File: views.py From py-flask-jsontools with BSD 2-Clause "Simplified" License | 6 votes |
def __init__(cls, name, bases, d): # Prepare methods = set(cls.methods or []) methods_map = defaultdict(dict) # Methods for view_name, func in inspect.getmembers(cls): # Collect methods decorated with methodview() info = _MethodViewInfo.get_info(func) if info is not None: # @methodview-decorated view for method in info.methods: methods_map[method][view_name] = info methods.add(method) # Finish cls.methods = tuple(sorted(methods_map.keys())) # ('GET', ... ) cls.methods_map = dict(methods_map) # { 'GET': {'get': _MethodViewInfo } } super(MethodViewType, cls).__init__(name, bases, d)
Example #16
Source File: views.py From py-flask-jsontools with BSD 2-Clause "Simplified" License | 6 votes |
def _match_view(self, method, route_params): """ Detect a view matching the query :param method: HTTP method :param route_params: Route parameters dict :return: Method :rtype: Callable|None """ method = method.upper() route_params = frozenset(k for k, v in route_params.items() if v is not None) for view_name, info in self.methods_map[method].items(): if info.matches(method, route_params): return getattr(self, view_name) else: return None
Example #17
Source File: resnet_as_a_service.py From iAI with MIT License | 6 votes |
def json_classify(): if request.method == 'POST': img = Image.open(request.files['file']) #Format image to Numpy CHW and run inference, get the results of the single output node results = engine.infer(image_to_np_CHW(img))[0] #Retrive the results created by the post processor callback top_class_label, top5 = results[0], results[1] #Format data for JSON top5_str = [] for t in top5: top5_str.append((t[0], str(t[1]))) classification_data = {"top_class": top_class_label, "top5": top5_str} return jsonify ( data = classification_data ) else: return jsonify ( error = "Invalid Request Type" )
Example #18
Source File: routes.py From thewarden with MIT License | 6 votes |
def cryptolist(): getlist = listofcrypto.query.all() if request.method == "GET": check = request.args.get("json") q = request.args.get("term") if check == "true": jsonlist = [] for item in getlist: if (q.upper() in item.symbol) or (q in item.name): tmp = {} tmp["name"] = item.name tmp["symbol"] = item.symbol jsonlist.append(tmp) return jsonify(jsonlist) return render_template( "cryptolist.html", title="List of Crypto Currencies", listofcrypto=getlist )
Example #19
Source File: routes.py From thewarden with MIT License | 6 votes |
def aclst(): list = [] if request.method == "GET": tradeaccounts = Trades.query.filter_by( user_id=current_user.username).group_by( Trades.trade_account) accounts = AccountInfo.query.filter_by( user_id=current_user.username).group_by( AccountInfo.account_longname ) q = request.args.get("term") for item in tradeaccounts: if q.upper() in item.trade_account.upper(): list.append(item.trade_account) for item in accounts: if q.upper() in item.account_longname.upper(): list.append(item.account_longname) list = json.dumps(list) return list
Example #20
Source File: routes.py From thewarden with MIT License | 6 votes |
def tradedetails(): if request.method == "GET": id = request.args.get("id") # if tradesonly is true then only look for buy and sells tradesonly = request.args.get("trades") df = pd.read_sql_table("trades", db.engine) # Filter only the trades for current user df = df[(df.user_id == current_user.username)] df = df[(df.trade_reference_id == id)] # Filter only buy and sells, ignore deposit / withdraw if tradesonly: df = df[(df.trade_operation == "B") | (df.trade_operation == "S")] # df['trade_date'] = pd.to_datetime(df['trade_date']) df.set_index("trade_reference_id", inplace=True) df.drop("user_id", axis=1, inplace=True) details = df.to_json() return details
Example #21
Source File: views.py From xcessiv with Apache License 2.0 | 6 votes |
def specific_base_learner(id): path = functions.get_path_from_query_string(request) with functions.DBContextManager(path) as session: base_learner = session.query(models.BaseLearner).filter_by(id=id).first() if base_learner is None: raise exceptions.UserError('Base learner {} not found'.format(id), 404) if request.method == 'GET': return jsonify(base_learner.serialize) if request.method == 'DELETE': base_learner.cleanup(path) session.delete(base_learner) session.commit() return jsonify(message='Deleted base learner')
Example #22
Source File: routes.py From thewarden with MIT License | 6 votes |
def account(): form = UpdateAccountForm() if form.validate_on_submit(): # Recalculate the NAV current_user.image_file = form.basefx.data current_user.email = form.email.data db.session.commit() regenerate_nav() flash( f"Account updated and NAV recalculated to use " + f"{form.basefx.data} as a base currency", "success") return redirect(url_for("users.account")) elif request.method == "GET": form.email.data = current_user.email # Check if the current value is in list of fx # If not, default to USD fx = fx_list() found = [item for item in fx if current_user.image_file in item] if found != []: form.basefx.data = current_user.image_file else: form.basefx.data = "USD" return render_template("account.html", title="Account", form=form)
Example #23
Source File: unsubscribe.py From app with MIT License | 6 votes |
def unsubscribe(alias_id): alias = Alias.get(alias_id) if not alias: flash("Incorrect link. Redirect you to the home page", "warning") return redirect(url_for("dashboard.index")) if alias.user_id != current_user.id: flash( "You don't have access to this page. Redirect you to the home page", "warning", ) return redirect(url_for("dashboard.index")) # automatic unsubscribe, according to https://tools.ietf.org/html/rfc8058 if request.method == "POST": alias.enabled = False flash(f"Alias {alias.email} has been blocked", "success") db.session.commit() return redirect(url_for("dashboard.index", highlight_alias_id=alias.id)) else: # ask user confirmation return render_template("dashboard/unsubscribe.html", alias=alias.email)
Example #24
Source File: recovery_code.py From app with MIT License | 6 votes |
def recovery_code_route(): if not current_user.two_factor_authentication_enabled(): flash("you need to enable either TOTP or WebAuthn", "warning") return redirect(url_for("dashboard.index")) recovery_codes = RecoveryCode.query.filter_by(user_id=current_user.id).all() if request.method == "GET" and not recovery_codes: # user arrives at this page for the first time LOG.d("%s has no recovery keys, generate", current_user) RecoveryCode.generate(current_user) recovery_codes = RecoveryCode.query.filter_by(user_id=current_user.id).all() if request.method == "POST": RecoveryCode.generate(current_user) flash("New recovery codes generated", "success") return redirect(url_for("dashboard.recovery_code_route")) return render_template( "dashboard/recovery_code.html", recovery_codes=recovery_codes )
Example #25
Source File: views.py From xcessiv with Apache License 2.0 | 6 votes |
def extraction_stacked_ensemble_cv(): path = functions.get_path_from_query_string(request) if request.method == 'GET': with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() return jsonify(extraction.stacked_ensemble_cv) if request.method == 'PATCH': req_body = request.get_json() with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() for key, value in six.iteritems(req_body): extraction.stacked_ensemble_cv[key] = value session.add(extraction) session.commit() return jsonify(extraction.stacked_ensemble_cv)
Example #26
Source File: app.py From dota2-predictor with MIT License | 6 votes |
def home(): if request.method == "POST": #do back end things here and then return what we want, take it back in a success function in JS and update the page. heroes = [name.encode('UTF8') for name in request.json['heroes']] radiant = [get_hero_id(hero) for hero in heroes[:5] if get_hero_id(hero)] dire = [get_hero_id(hero) for hero in heroes[5:] if get_hero_id(hero)] mmr = int(request.json['mmr']) text = query(mmr, radiant, dire) if isinstance(text, list): text = ''.join([str(hero[0]) + ': ' + str(round(hero[1][0] * 100, 2))+'% win rate. <br>' for hero in text[:10]]) return text hero_names = get_full_hero_list() radiant_heroes, dire_heroes = get_hero_factions() edited_names = [name.replace(" ", "_").replace("\'", "").lower() for name in hero_names] return render_template('main2.html', hero_names=sorted(hero_names), edited_names=sorted(edited_names), radiant_heroes=radiant_heroes, dire_heroes=dire_heroes)
Example #27
Source File: views.py From xcessiv with Apache License 2.0 | 6 votes |
def extraction_main_dataset(): path = functions.get_path_from_query_string(request) if request.method == 'GET': with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() return jsonify(extraction.main_dataset) if request.method == 'PATCH': req_body = request.get_json() with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() for key, value in six.iteritems(req_body): extraction.main_dataset[key] = value session.add(extraction) session.commit() return jsonify(extraction.main_dataset)
Example #28
Source File: views.py From xcessiv with Apache License 2.0 | 6 votes |
def extraction_meta_feature_generation(): path = functions.get_path_from_query_string(request) if request.method == 'GET': with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() return jsonify(extraction.meta_feature_generation) if request.method == 'PATCH': req_body = request.get_json() with functions.DBContextManager(path) as session: extraction = session.query(models.Extraction).first() for key, value in six.iteritems(req_body): extraction.meta_feature_generation[key] = value session.add(extraction) session.commit() return jsonify(extraction.meta_feature_generation)
Example #29
Source File: zmirror.py From zmirror with MIT License | 5 votes |
def put_response_to_local_cache(url, _our_resp, without_content=False): """ put our response object(headers included) to local cache :param without_content: for stream mode use :param url: client request url :param _our_resp: our response(flask response object) to client, would be storge :type url: str :type _our_resp: Response :type without_content: bool """ # Only cache GET method, and only when remote returns 200(OK) status if parse.method != 'GET' or _our_resp.status_code != 200: return dbgprint('PuttingCache:', url, "without_content:", without_content) if without_content: our_resp = copy.copy(_our_resp) our_resp.response = None # delete iterator obj_size = 0 else: our_resp = _our_resp obj_size = len(parse.remote_response.content) # requests' header are CaseInsensitive last_modified = parse.remote_response.headers.get('Last-Modified', None) cache.put_obj( url, our_resp, expires=get_expire_from_mime(parse.mime), obj_size=obj_size, last_modified=last_modified, info_dict={'without_content': without_content, 'last_modified': last_modified, }, )
Example #30
Source File: routes.py From thewarden with MIT License | 5 votes |
def delacc(): if request.method == "GET": id = request.args.get("id") trade = Trades.query.filter_by(id=id) if trade[0].user_id != current_user.username: abort(403) AccountInfo.query.filter_by(account_id=id).delete() db.session.commit() flash("Account deleted", "danger") return redirect(url_for("transactions.tradeaccounts")) else: return redirect(url_for("transactions.tradeaccounts"))