вернуть вывод из скрипта python в flask - PullRequest
0 голосов
/ 25 марта 2020

У меня есть сценарий python, который я запускаю с flask:

from flask import Flask, render_template, request, redirect, url_for
from transcode_audio_manual_stag_funct import get_epguid

application = Flask(__name__)

@application.route('/audiotranscode')
def homepage():
    html = render_template('homepage.html')
    return html

@application.route('/transcode', methods=['GET','POST'])
def transcode():
    dmguid = request.form['mediaid']
    get_epguid(dmguid)
    return redirect(url_for('homepage'))

if __name__ == '__main__':
    application.run(host='0.0.0.0')

В конце сценария состояние может быть неуспешным или успешным.

    ...
    def register_lowres_depot(dmguid, url_register_audio):
        r = safegeturl(url_register_audio)
        root = ET.fromstring(r.content)
        jobID = root.text
        status = ''
        while not (status == '2' or status == '4'):
            url_status = url %jobID
            r = safegeturl(url_status)
            root = ET.fromstring(r.content)
            status = root.text
            print(dmguid, status)
            time.sleep(10)
        if status == '2':
            logger.info('{} successfully registered in depot'.format(dmguid))
        else:
            logger.warning('Failed to register audio lowres for {}'.format(dmguid))

    if __name__ == '__main__':
        get_epguid(dmguid)

Как я могу вернуть этот статус обратно в мой flask сценарий и представить его пользователю?

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете использовать метод make_resopnse(). Что бы вам ни понадобилось представить пользователю, передайте его в качестве параметра этому методу. Как показано ниже:

# case : Successful
resp = make_resopnse('{} successfully registered in depot'.format(dmguid))
resp.status_code = 200
return resp
# case : Failure
resp = make_resopnse('Failed to register audio lowres for {}'.format(dmguid))
resp.status_code = 500
return resp

Примечание: приведенное выше очень обобщенно c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...