in doc/code/targets/playwright_target.py [0:0]
def start_flask_app():
# Get the notebook's directory
notebook_dir = os.getcwd()
# Construct the path to app.py relative to the notebook directory
app_path = os.path.join(notebook_dir, "playwright_demo", "app.py")
# Ensure that app.py exists
if not os.path.isfile(app_path):
raise FileNotFoundError(f"Cannot find app.py at {app_path}")
# Start the Flask app
print(f"Starting Flask app from {app_path}...")
flask_process = subprocess.Popen([sys.executable, app_path], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
# Wait for the app to start by checking if the server is up
server_url = "http://127.0.0.1:5000"
server_ready = False
while not server_ready:
try:
response = urlopen(server_url)
if response.status == 200:
server_ready = True
except URLError:
time.sleep(0.5) # Wait a bit before checking again
print("Flask app is running and ready!")
return flask_process