MCPcopy Index your code
hub / github.com/RustPython/RustPython / register_standard_browsers

Function register_standard_browsers

Lib/webbrowser.py:480–568  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

478
479
480def register_standard_browsers():
481 global _tryorder
482 _tryorder = []
483
484 if sys.platform == 'darwin':
485 register("MacOSX", None, MacOSXOSAScript('default'))
486 register("chrome", None, MacOSXOSAScript('chrome'))
487 register("firefox", None, MacOSXOSAScript('firefox'))
488 register("safari", None, MacOSXOSAScript('safari'))
489 # OS X can use below Unix support (but we prefer using the OS X
490 # specific stuff)
491
492 if sys.platform == "ios":
493 register("iosbrowser", None, IOSBrowser(), preferred=True)
494
495 if sys.platform == "serenityos":
496 # SerenityOS webbrowser, simply called "Browser".
497 register("Browser", None, BackgroundBrowser("Browser"))
498
499 if sys.platform[:3] == "win":
500 # First try to use the default Windows browser
501 register("windows-default", WindowsDefault)
502
503 # Detect some common Windows browsers, fallback to Microsoft Edge
504 # location in 64-bit Windows
505 edge64 = os.path.join(os.environ.get("PROGRAMFILES(x86)", "C:\\Program Files (x86)"),
506 "Microsoft\\Edge\\Application\\msedge.exe")
507 # location in 32-bit Windows
508 edge32 = os.path.join(os.environ.get("PROGRAMFILES", "C:\\Program Files"),
509 "Microsoft\\Edge\\Application\\msedge.exe")
510 for browser in ("firefox", "seamonkey", "mozilla", "chrome",
511 "opera", edge64, edge32):
512 if shutil.which(browser):
513 register(browser, None, BackgroundBrowser(browser))
514 if shutil.which("MicrosoftEdge.exe"):
515 register("microsoft-edge", None, Edge("MicrosoftEdge.exe"))
516 else:
517 # Prefer X browsers if present
518 #
519 # NOTE: Do not check for X11 browser on macOS,
520 # XQuartz installation sets a DISPLAY environment variable and will
521 # autostart when someone tries to access the display. Mac users in
522 # general don't need an X11 browser.
523 if sys.platform != "darwin" and (os.environ.get("DISPLAY") or os.environ.get("WAYLAND_DISPLAY")):
524 try:
525 cmd = "xdg-settings get default-web-browser".split()
526 raw_result = subprocess.check_output(cmd, stderr=subprocess.DEVNULL)
527 result = raw_result.decode().strip()
528 except (FileNotFoundError, subprocess.CalledProcessError,
529 PermissionError, NotADirectoryError):
530 pass
531 else:
532 global _os_preferred_browser
533 _os_preferred_browser = result
534
535 register_X_browsers()
536
537 # Also try console browsers

Callers 3

registerFunction · 0.85
getFunction · 0.85
openFunction · 0.85

Calls 15

MacOSXOSAScriptClass · 0.85
IOSBrowserClass · 0.85
BackgroundBrowserClass · 0.85
EdgeClass · 0.85
register_X_browsersFunction · 0.85
GenericBrowserClass · 0.85
ElinksClass · 0.85
_synthesizeFunction · 0.85
registerFunction · 0.70
joinMethod · 0.45
getMethod · 0.45
splitMethod · 0.45

Tested by

no test coverage detected