Merge pull request 'CLI: Fixed bug in firefox opening addon page because of new profile' (#420) from Qubasa-main into main

This commit is contained in:
clan-bot
2023-10-08 14:42:49 +00:00

View File

@@ -1,10 +1,7 @@
import argparse import argparse
import logging import logging
import os
import shutil import shutil
import signal
import subprocess import subprocess
import tempfile
import time import time
import urllib.request import urllib.request
from contextlib import ExitStack, contextmanager from contextlib import ExitStack, contextmanager
@@ -21,7 +18,6 @@ log = logging.getLogger(__name__)
def open_browser(base_url: str, sub_url: str) -> None: def open_browser(base_url: str, sub_url: str) -> None:
with tempfile.TemporaryDirectory() as tmpdir:
for i in range(5): for i in range(5):
try: try:
urllib.request.urlopen(base_url + "/health") urllib.request.urlopen(base_url + "/health")
@@ -29,26 +25,16 @@ def open_browser(base_url: str, sub_url: str) -> None:
except OSError: except OSError:
time.sleep(i) time.sleep(i)
url = f"{base_url}/{sub_url.removeprefix('/')}" url = f"{base_url}/{sub_url.removeprefix('/')}"
proc = _open_browser(url, tmpdir) _open_browser(url)
try:
proc.wait()
print("Browser closed")
os.kill(os.getpid(), signal.SIGINT)
finally:
proc.kill()
proc.wait()
def _open_browser(url: str, tmpdir: str) -> subprocess.Popen: def _open_browser(url: str) -> subprocess.Popen:
for browser in ("firefox", "iceweasel", "iceape", "seamonkey"): for browser in ("firefox", "iceweasel", "iceape", "seamonkey"):
if shutil.which(browser): if shutil.which(browser):
cmd = [ cmd = [
browser, browser,
"-kiosk", "-kiosk",
"-private-window", "-new-window",
"--new-instance",
"--profile",
tmpdir,
url, url,
] ]
print(" ".join(cmd)) print(" ".join(cmd))