remove workaround for bug in python 3.2.0 loading web pages on *nix

This commit is contained in:
Campbell Barton 2011-08-22 11:54:40 +00:00
parent 1324173e99
commit 5394cabe24
1 changed files with 0 additions and 64 deletions

View File

@ -738,7 +738,6 @@ class WM_OT_url_open(Operator):
def execute(self, context):
import webbrowser
_webbrowser_bug_fix()
webbrowser.open(self.url)
return {'FINISHED'}
@ -830,7 +829,6 @@ class WM_OT_doc_view(Operator):
return {'PASS_THROUGH'}
import webbrowser
_webbrowser_bug_fix()
webbrowser.open(url)
return {'FINISHED'}
@ -1181,65 +1179,3 @@ class WM_OT_copy_prev_settings(Operator):
return {'FINISHED'}
return {'CANCELLED'}
def _webbrowser_bug_fix():
# test for X11
import os
if os.environ.get("DISPLAY"):
# BSD licenced code copied from python, temp fix for bug
# http://bugs.python.org/issue11432, XXX == added code
def _invoke(self, args, remote, autoraise):
# XXX, added imports
import io
import subprocess
import time
raise_opt = []
if remote and self.raise_opts:
# use autoraise argument only for remote invocation
autoraise = int(autoraise)
opt = self.raise_opts[autoraise]
if opt:
raise_opt = [opt]
cmdline = [self.name] + raise_opt + args
if remote or self.background:
inout = io.open(os.devnull, "r+")
else:
# for TTY browsers, we need stdin/out
inout = None
# if possible, put browser in separate process group, so
# keyboard interrupts don't affect browser as well as Python
setsid = getattr(os, 'setsid', None)
if not setsid:
setsid = getattr(os, 'setpgrp', None)
p = subprocess.Popen(cmdline, close_fds=True, # XXX, stdin=inout,
stdout=(self.redirect_stdout and inout or None),
stderr=inout, preexec_fn=setsid)
if remote:
# wait five secons. If the subprocess is not finished, the
# remote invocation has (hopefully) started a new instance.
time.sleep(1)
rc = p.poll()
if rc is None:
time.sleep(4)
rc = p.poll()
if rc is None:
return True
# if remote call failed, open() will try direct invocation
return not rc
elif self.background:
if p.poll() is None:
return True
else:
return False
else:
return not p.wait()
import webbrowser
webbrowser.UnixBrowser._invoke = _invoke