Flask和python不允许递归函数Twitch API

问题描述

我有一个功能可以在Twitch上生成某个用户的所有视频URL

def get_videos(cursor=None):  # functiont to retrieve all vod URLs possible,kinda slow for now
    params_get_videos = {('user_id',userid_var)}  # params for request.get
    if cursor is not None:  # check if there was a cursor value passed
        params_get_videos = list(params_get_videos) + list({('after',cursor)})  # add another param for pagination
    url_get_videos = 'https://api.twitch.tv/helix/videos'  # URL to request data
    response_get_videos = session.get(url_get_videos,params=params_get_videos,headers=headers)  # get the data
    reponse_get_videos_json = response_get_videos.json()  # parse and interpret data
    file = open(MyUsername+" videos.txt","w")
    for i in range(0,len(reponse_get_videos_json['data'])):  # parse and interpret data
        file.write(reponse_get_videos_json['data'][i]['url'] +'\n')  # parse and interpret data
    if 'cursor' in reponse_get_videos_json['pagination']:  # check if there are more pages
        get_videos(reponse_get_videos_json['pagination']['cursor'])  # iterate the function until there are no more pages

这可以单独(和其他功能)很好地工作,但是每当我尝试从这样的虚拟烧瓶服务器调用它时

from flask import Flask
from flask import render_template
from flask import request
from main import *

app = Flask(__name__)

@app.route('/')
def hello_world():
    return render_template("hello.html")

@app.route('/magic',methods=['POST','GET'])
def get_username():
    username = request.form.get('username')
    get_videos()
    return ("Success")

它不再执行递归操作,仅输出前20个值。我在做什么错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)