Return continuous terminal log through flask client - Python

Viewed 49

Is there a way to return multiple responses to 1 get request?

I have a basic flask app where I am trying to make it run another python app and send the terminal logs to the client side. I can return a json value but I can't return any text or the output of the terminal.

Here is the server side:

from flask import Flask, stream_with_context, request, Response
from flask_restful import Api, Resource
from flask_socketio import SocketIO
import intermedia_choose_action_flask 
import subprocess


app = Flask(__name__)
api = Api(app)
socketio = SocketIO(app)

class spamblacklistsend(Resource):
    def get(self):
        imapp = subprocess.Popen(["python3", "/home/tech/scripts/Intermedia_automate/intermedia_choose_action.py", "--addblockeveryone", "--ed", "test@fakeu.com"], bufsize=10, errors='replace')
        imapp.app_context().push()
        # p = subprocess.Popen(["python3", "/home/tech/scripts/Intermedia_automate/intermedia_choose_action.py", "--addblockeveryone", "--ed", "test@fakeu.com"], bufsize=10, errors='replace')
        return imapp.app_context().push()
        

api.add_resource(spamblacklistsend, "/spamblacklistsend")
if __name__ == "__main__":
    app.run(debug=True)

Here is the client side:

from flask import json
import requests

BASE = "http://127.0.0.1:5000/"

response = requests.get(BASE + "spamblacklistsend")
print(imapp.app_context().push())

I know that return stops the function. Is there anyway to return and continue?

0 Answers
Related