From 88f015dc8890960108e98a3114213ab258fda0c9 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 22 Oct 2002 21:58:06 +0000 Subject: Moved description of _urlopener adjacent to the related functions. Added missing import to example code. Added documentation for pathname2url(), url2pathname(). Closes SF bug #623196. --- Doc/lib/liburllib.tex | 53 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/Doc/lib/liburllib.tex b/Doc/lib/liburllib.tex index 97d0e92..9b1ef31 100644 --- a/Doc/lib/liburllib.tex +++ b/Doc/lib/liburllib.tex @@ -140,6 +140,30 @@ must in standard \mimetype{application/x-www-form-urlencoded} format; see the \function{urlencode()} function below. \end{funcdesc} +\begin{datadesc}{_urlopener} +The public functions \function{urlopen()} and +\function{urlretrieve()} create an instance of the +\class{FancyURLopener} class and use it to perform their requested +actions. To override this functionality, programmers can create a +subclass of \class{URLopener} or \class{FancyURLopener}, then assign +that an instance of that class to the +\code{urllib._urlopener} variable before calling the desired function. +For example, applications may want to specify a different +\mailheader{User-Agent} header than \class{URLopener} defines. This +can be accomplished with the following code: + +\begin{verbatim} +import urllib + +class AppURLopener(urllib.FancyURLopener): + def __init__(self, *args): + self.version = "App/1.7" + urllib.FancyURLopener.__init__(self, *args) + +urllib._urlopener = AppURLopener() +\end{verbatim} +\end{datadesc} + \begin{funcdesc}{urlcleanup}{} Clear the cache that may have been built up by previous calls to \function{urlretrieve()}. @@ -188,25 +212,18 @@ order of parameters in the encoded string will match the order of parameter tuples in the sequence. \end{funcdesc} -The public functions \function{urlopen()} and -\function{urlretrieve()} create an instance of the -\class{FancyURLopener} class and use it to perform their requested -actions. To override this functionality, programmers can create a -subclass of \class{URLopener} or \class{FancyURLopener}, then assign -that an instance of that class to the -\code{urllib._urlopener} variable before calling the desired function. -For example, applications may want to specify a different -\mailheader{User-Agent} header than \class{URLopener} defines. This -can be accomplished with the following code: - -\begin{verbatim} -class AppURLopener(urllib.FancyURLopener): - def __init__(self, *args): - self.version = "App/1.7" - urllib.FancyURLopener.__init__(self, *args) +\begin{funcdesc}{pathname2url}{path} +Convert the pathname \var{path} from the local syntax for a path to +the form used in the path component of a URL. This does not produce a +complete URL. The return value will already be quoted using the +\function{quote()} function. +\end{funcdesc} -urllib._urlopener = AppURLopener() -\end{verbatim} +\begin{funcdesc}{url2pathname}{path} +Convert the path component \var{path} from an encoded URL to the local +syntax for a path. This does not accept a complete URL. This +function uses \function{unquote()} to decode \var{path}. +\end{funcdesc} \begin{classdesc}{URLopener}{\optional{proxies\optional{, **x509}}} Base class for opening and reading URLs. Unless you need to support -- cgit v0.12