MCPcopy Index your code
hub / github.com/python/cpython / open

Method open

Lib/webbrowser.py:367–411  ·  view source on GitHub ↗
(self, url, new=0, autoraise=True)

Source from the content-addressed store, hash-verified

365 """
366
367 def open(self, url, new=0, autoraise=True):
368 sys.audit("webbrowser.open", url)
369 self._check_url(url)
370 # XXX Currently I know no way to prevent KFM from opening a new win.
371 if new == 2:
372 action = "newTab"
373 else:
374 action = "openURL"
375
376 devnull = subprocess.DEVNULL
377
378 try:
379 p = subprocess.Popen(["kfmclient", action, url],
380 close_fds=True, stdin=devnull,
381 stdout=devnull, stderr=devnull)
382 except OSError:
383 # fall through to next variant
384 pass
385 else:
386 p.wait()
387 # kfmclient's return code unfortunately has no meaning as it seems
388 return True
389
390 try:
391 p = subprocess.Popen(["konqueror", "--silent", url],
392 close_fds=True, stdin=devnull,
393 stdout=devnull, stderr=devnull,
394 start_new_session=True)
395 except OSError:
396 # fall through to next variant
397 pass
398 else:
399 if p.poll() is None:
400 # Should be running now.
401 return True
402
403 try:
404 p = subprocess.Popen(["kfm", "-d", url],
405 close_fds=True, stdin=devnull,
406 stdout=devnull, stderr=devnull,
407 start_new_session=True)
408 except OSError:
409 return False
410 else:
411 return p.poll() is None
412
413
414class Edge(UnixBrowser):

Callers 1

openFunction · 0.45

Calls 3

waitMethod · 0.95
pollMethod · 0.95
_check_urlMethod · 0.80

Tested by

no test coverage detected