如何使用Flask和ansi2html

时间:2019-07-18 19:39:57

标签: python shell flask

我正在尝试使用flask和ansi2html显示ansible-playbook的输出,其输出结果很好,除非它没有任何颜色,只是黑底白字。

这对Flask世界来说是一个新事物,这很好,但是它只需要一点额外的钱,就可以满足所有指针的需求,包括ansi2html的替代选择。

这是特定路线的代码块。

@app.route("/resetprovideo/")
def resetprovideo():
    conv = Ansi2HTMLConverter(inline=True)
    file = request.args.get('file')
    folder = request.args.get('folder')
    files = []
    for item in os.listdir(folder):
        if item.endswith(".tune"):
            files.append(item)
    try:
        if file not in files:
            raise ValueError("Error Filename Incorrect!")
    except ValueError as err:
        return "An Error has occured ... {}".format(err)
    else:
        def runit():
            script = './reset_provideo.sh '
            cmd = script + file
            session = subprocess.Popen([cmd], 
                                        stdout=subprocess.PIPE, 
                                        stderr=subprocess.PIPE, 
                                        shell=True, 
                                        universal_newlines = True)
            for line in iter(session.stdout.readline, ''):
                yield conv.convert(line.rstrip()
            session.communicate()
            exit_code = session.wait()
            if int(exit_code) == 0:
                exit_code = 'Successfully Completed!'
            else:
                exit_code = 'Somthing Went Wrong -- rc = ' + str(exit_code)
            yield exit_code
        return Response(runit(), mimetype='text/html')

如上所述,它可以正常工作,只是在黑色背景上显示白色文本。

预先感谢

马特

1 个答案:

答案 0 :(得分:0)

所以事实证明它一直在传递颜色,这是无法分辨的颜色。

设置配置项

sudo su - postgres
\password postgres

宾果游戏邦戈,我们有颜色。