[Python-Dev] Patch review: all webbrowser.py related patches up to 2005-03-20

rodsenra at gpr.com.br rodsenra at gpr.com.br
Sun Mar 20 15:28:02 CET 2005

1144816	webbrowser.Netscape.open bug fix
1077979	Simple webbrowser fix for netscape -remote

 1144816 and 1077979 are the the same patch, as documented
  in a comment for 1144816  by Oleg Broytmann.

 The wrong behaviour was reported to happen in Mozilla (unspecified
 version),  Netscape 7.2 and Mozilla-firefox (unspecified version).

 I could not reproduce the problem  neither with Mozilla 1.7.2 nor
 with Firefox 1.0.1. Nevertheless, applying the patch does not break
 current functionality and might fix bugs in older browsers.

 I recommend applying 1077979, and closing 1144816.

954628	Replacement for webbrowser.py which has problems.

 There is no patch attached, but the whole file was uploaded. Twice!
 There is already a comment by Oleg Broytmann telling the person
 to re-submit it in as a proper patch.

 There are multiple changes in it, perhaps multiples patches.
 Each addresing  a single change.
 Some of the proposed changes are declared untested.

 Some changes are controversial, like using a new environment variable
 PYTHONBROWSER prior to checking BROWSER.
 There are no references to this being discussed in python-dev.
 IMO this adds unecessary complexity, if the user is not satisfied with
 the BROWSER settings is easier and better to reconfigured it than
 to create a new  variable.

 I recommend closing 954628.

728278	Multiple webbrowser.py bug fixes / improvements

 Against the [http://python.org/patches/  Patch Submission Guidelines]
 this entry has uploaded both the whole file and .tgz, but no patch file.

 The  large numbers of changes make it difficult to review.

 All the changes were documented to the top of the file,
 I don't believe they  belong there. At least that is not complaint
 to the first rule in  http://www.python.org/patches/style.html

 There are several OS X specific corrections that I'm unable to
 reproduce/validate, since I have no access to that platform.

 The modules was renamed to wingwebbrowser.py and the test case was built
 using this name. I believe this is inadequate, the original module name
 should be kept.

 There are three categories of changes: bug fixes, internal changes and
 interface changes.
 IMO it would be better to break this patch in at least three, matching
 these types of changes. Bug fixes would have a higher priority, less
 chance to break backward compatibility and more chance to be
 incorporated earlier.

 It should be applied before 1077979, otherwise that fix would be reversed.

 In spite of the formatting comments above, there are *valuable* changes
 in the submitted file.

 This is a nice candidate to be tackled in a Python Bug Day, since it
 functionality involves a broad range of platforms and user browsers
 preferences. Moreover, thourough test cases are hard to be cooked.

 I recommend keeping it open until somebody reshaped it properly
 and then applying it.

754022	Enhanced webbrowser.py

 This patch is properly formatted.

 I would change 'return 1' for 'return True', since this
 targets Py 2.4.x or above.

 It address some of the issues already addressed in entry 728278,
 since it proposes less changes and it is properly formatted I
 recommend applying it before 728278.

1166780  Fix _tryorder in webbrowser.py

This is my own patch.

At the present time (Py2.4) documentation says:
Under Unix, if the environment variable BROWSER exists,
it is interpreted to override the platform default list of
(extract from Python-2.4/Doc/html/lib/module-webbrowser.html)

But, when the environment variable BROWSER is messed up,
there is no reason not to try the other detected browser alternatives.

In this patch, if the BROWSER variable is Ok, than it
is respected. Otherwise, the previously detected browsers are tryied
out as if BROWSER variable never existed.

This does not break backward compatibility and adds
more chance for webbrowser.open() to succeed.

This patch was made against CVS head 2005-03-20, and
aims to 2.5, but can safely be apllied to any 2.4.x bug
fix release.


best regards,
Rod Senra

More information about the Python-Dev mailing list