mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
bpo-37363: Add audit events for a range of modules (GH-14301)
This commit is contained in:
parent
9bbf4d7083
commit
60419a7e96
37 changed files with 165 additions and 18 deletions
|
|
@ -154,6 +154,7 @@ class GenericBrowser(BaseBrowser):
|
|||
self.basename = os.path.basename(self.name)
|
||||
|
||||
def open(self, url, new=0, autoraise=True):
|
||||
sys.audit("webbrowser.open", url)
|
||||
cmdline = [self.name] + [arg.replace("%s", url)
|
||||
for arg in self.args]
|
||||
try:
|
||||
|
|
@ -173,6 +174,7 @@ class BackgroundBrowser(GenericBrowser):
|
|||
def open(self, url, new=0, autoraise=True):
|
||||
cmdline = [self.name] + [arg.replace("%s", url)
|
||||
for arg in self.args]
|
||||
sys.audit("webbrowser.open", url)
|
||||
try:
|
||||
if sys.platform[:3] == 'win':
|
||||
p = subprocess.Popen(cmdline)
|
||||
|
|
@ -201,7 +203,7 @@ class UnixBrowser(BaseBrowser):
|
|||
remote_action_newwin = None
|
||||
remote_action_newtab = None
|
||||
|
||||
def _invoke(self, args, remote, autoraise):
|
||||
def _invoke(self, args, remote, autoraise, url=None):
|
||||
raise_opt = []
|
||||
if remote and self.raise_opts:
|
||||
# use autoraise argument only for remote invocation
|
||||
|
|
@ -237,6 +239,7 @@ class UnixBrowser(BaseBrowser):
|
|||
return not p.wait()
|
||||
|
||||
def open(self, url, new=0, autoraise=True):
|
||||
sys.audit("webbrowser.open", url)
|
||||
if new == 0:
|
||||
action = self.remote_action
|
||||
elif new == 1:
|
||||
|
|
@ -253,7 +256,7 @@ class UnixBrowser(BaseBrowser):
|
|||
args = [arg.replace("%s", url).replace("%action", action)
|
||||
for arg in self.remote_args]
|
||||
args = [arg for arg in args if arg]
|
||||
success = self._invoke(args, True, autoraise)
|
||||
success = self._invoke(args, True, autoraise, url)
|
||||
if not success:
|
||||
# remote invocation failed, try straight way
|
||||
args = [arg.replace("%s", url) for arg in self.args]
|
||||
|
|
@ -337,6 +340,7 @@ class Konqueror(BaseBrowser):
|
|||
"""
|
||||
|
||||
def open(self, url, new=0, autoraise=True):
|
||||
sys.audit("webbrowser.open", url)
|
||||
# XXX Currently I know no way to prevent KFM from opening a new win.
|
||||
if new == 2:
|
||||
action = "newTab"
|
||||
|
|
@ -420,6 +424,7 @@ class Grail(BaseBrowser):
|
|||
return 1
|
||||
|
||||
def open(self, url, new=0, autoraise=True):
|
||||
sys.audit("webbrowser.open", url)
|
||||
if new:
|
||||
ok = self._remote("LOADNEW " + url)
|
||||
else:
|
||||
|
|
@ -577,6 +582,7 @@ def register_standard_browsers():
|
|||
if sys.platform[:3] == "win":
|
||||
class WindowsDefault(BaseBrowser):
|
||||
def open(self, url, new=0, autoraise=True):
|
||||
sys.audit("webbrowser.open", url)
|
||||
try:
|
||||
os.startfile(url)
|
||||
except OSError:
|
||||
|
|
@ -606,6 +612,7 @@ if sys.platform == 'darwin':
|
|||
self.name = name
|
||||
|
||||
def open(self, url, new=0, autoraise=True):
|
||||
sys.audit("webbrowser.open", url)
|
||||
assert "'" not in url
|
||||
# hack for local urls
|
||||
if not ':' in url:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue