0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-03-16 03:15:08 +01:00

Made install script work with Firefox and wrapped for errors

This commit is contained in:
Danilo Ješić 2023-07-11 15:27:57 +02:00
parent 88600d6f53
commit 9a9b0f85df

View file

@ -1,20 +1,23 @@
import sys
from time import time_ns from time import time_ns
from playwright.sync_api import sync_playwright from playwright.sync_api import sync_playwright, Error
def log_note(message: str) -> None: def log_note(message: str) -> None:
timestamp = str(time_ns())[:16] timestamp = str(time_ns())[:16]
print(f"{timestamp} {message}") print(f"{timestamp} {message}")
def main(): def main(browser_name: str = "chromium"):
with sync_playwright() as playwright: with sync_playwright() as playwright:
log_note("Launch browser") log_note(f"Launch browser {browser_name}")
if browser_name == "firefox":
browser_type = playwright.firefox
else:
browser_type = playwright.chromium browser_type = playwright.chromium
browser = browser_type.launch( browser = browser_type.launch(headless=True)
headless=True, context = browser.new_context()
args=["--no-sandbox", "--disable-setuid-sandbox", "--disable-dev-shm-usage"] page = context.new_page()
) try:
page = browser.new_page()
page.goto('http://nc/') page.goto('http://nc/')
page.set_default_timeout(180_000) page.set_default_timeout(180_000)
@ -34,8 +37,21 @@ def main():
page.wait_for_selector('.app-dashboard') page.wait_for_selector('.app-dashboard')
log_note("Installation complete") log_note("Installation complete")
except Error as e:
log_note(f"Exception occurred: {e.message}")
log_note(f"Page content was: {page.content()}")
raise e
browser.close() browser.close()
if __name__ == '__main__': if __name__ == '__main__':
main() if len(sys.argv) > 1:
browser_name = sys.argv[1].lower()
if browser_name not in ["chromium", "firefox"]:
print("Invalid browser name. Please choose either 'chromium' or 'firefox'.")
sys.exit(1)
else:
browser_name = "chromium"
main(browser_name)