[Python-Dev] __all__ in urllib
Guido van Rossum
guido@digicool.com
Tue, 13 Mar 2001 11:43:42 -0500
> Two things come to mind. One, perhaps a more careful coding of urllib to
> avoid exposing names it shouldn't export would be a better choice. Two,
> perhaps those symbols that are not documented but that would be useful when
> extending urllib functionality should be documented and added to __all__.
>
> Here are the non-module names I didn't include in urllib.__all__:
Let me annotate these in-line:
> MAXFTPCACHE No
> localhost Yes
> thishost Yes
> ftperrors Yes
> noheaders No
> ftpwrapper No
> addbase No
> addclosehook No
> addinfo No
> addinfourl No
> basejoin Yes
> toBytes No
> unwrap Yes
> splittype Yes
> splithost Yes
> splituser Yes
> splitpasswd Yes
> splitport Yes
> splitnport Yes
> splitquery Yes
> splittag Yes
> splitattr Yes
> splitvalue Yes
> splitgophertype Yes
> always_safe No
> getproxies_environment No
> getproxies Yes
> getproxies_registry No
> test1 No
> reporthook No
> test No
> main No
>
> None are documented, so there are no guarantees if you use them (I have
> subclassed addinfourl in the past myself).
Note that there's a comment block "documenting" all the split*()
functions, indicating that I intended them to be public. For the
rest, I'm making a best guess based on how useful these things are and
how closely tied to the implementation etc.
--Guido van Rossum (home page: http://www.python.org/~guido/)