Exceptions raised during renaming in rotating file handlers are now passed to handleE...
[python.git] / Doc / mac / libmacic.tex
blob6d3a0d794908d092061cab5518b9594fbf9e1ad0
1 \section{\module{ic} ---
2 Access to Internet Config}
4 \declaremodule{builtin}{ic}
5 \platform{Mac}
6 \modulesynopsis{Access to Internet Config.}
9 This module provides access to various internet-related preferences
10 set through \program{System Preferences} or the \program{Finder}.
12 There is a low-level companion module
13 \module{icglue}\refbimodindex{icglue} which provides the basic
14 Internet Config access functionality. This low-level module is not
15 documented, but the docstrings of the routines document the parameters
16 and the routine names are the same as for the Pascal or \C{} API to
17 Internet Config, so the standard IC programmers' documentation can be
18 used if this module is needed.
20 The \module{ic} module defines the \exception{error} exception and
21 symbolic names for all error codes Internet Config can produce; see
22 the source for details.
24 \begin{excdesc}{error}
25 Exception raised on errors in the \module{ic} module.
26 \end{excdesc}
29 The \module{ic} module defines the following class and function:
31 \begin{classdesc}{IC}{\optional{signature\optional{, ic}}}
32 Create an Internet Config object. The signature is a 4-character creator
33 code of the current application (default \code{'Pyth'}) which may
34 influence some of ICs settings. The optional \var{ic} argument is a
35 low-level \code{icglue.icinstance} created beforehand, this may be
36 useful if you want to get preferences from a different config file,
37 etc.
38 \end{classdesc}
40 \begin{funcdesc}{launchurl}{url\optional{, hint}}
41 \funcline{parseurl}{data\optional{, start\optional{, end\optional{, hint}}}}
42 \funcline{mapfile}{file}
43 \funcline{maptypecreator}{type, creator\optional{, filename}}
44 \funcline{settypecreator}{file}
45 These functions are ``shortcuts'' to the methods of the same name,
46 described below.
47 \end{funcdesc}
50 \subsection{IC Objects}
52 \class{IC} objects have a mapping interface, hence to obtain the mail
53 address you simply get \code{\var{ic}['MailAddress']}. Assignment also
54 works, and changes the option in the configuration file.
56 The module knows about various datatypes, and converts the internal IC
57 representation to a ``logical'' Python data structure. Running the
58 \module{ic} module standalone will run a test program that lists all
59 keys and values in your IC database, this will have to serve as
60 documentation.
62 If the module does not know how to represent the data it returns an
63 instance of the \code{ICOpaqueData} type, with the raw data in its
64 \member{data} attribute. Objects of this type are also acceptable values
65 for assignment.
67 Besides the dictionary interface, \class{IC} objects have the
68 following methods:
71 \begin{methoddesc}{launchurl}{url\optional{, hint}}
72 Parse the given URL, launch the correct application and pass it the
73 URL. The optional \var{hint} can be a scheme name such as
74 \code{'mailto:'}, in which case incomplete URLs are completed with this
75 scheme. If \var{hint} is not provided, incomplete URLs are invalid.
76 \end{methoddesc}
78 \begin{methoddesc}{parseurl}{data\optional{, start\optional{, end\optional{, hint}}}}
79 Find an URL somewhere in \var{data} and return start position, end
80 position and the URL. The optional \var{start} and \var{end} can be
81 used to limit the search, so for instance if a user clicks in a long
82 text field you can pass the whole text field and the click-position in
83 \var{start} and this routine will return the whole URL in which the
84 user clicked. As above, \var{hint} is an optional scheme used to
85 complete incomplete URLs.
86 \end{methoddesc}
88 \begin{methoddesc}{mapfile}{file}
89 Return the mapping entry for the given \var{file}, which can be passed
90 as either a filename or an \function{FSSpec()} result, and which
91 need not exist.
93 The mapping entry is returned as a tuple \code{(\var{version},
94 \var{type}, \var{creator}, \var{postcreator}, \var{flags},
95 \var{extension}, \var{appname}, \var{postappname}, \var{mimetype},
96 \var{entryname})}, where \var{version} is the entry version
97 number, \var{type} is the 4-character filetype, \var{creator} is the
98 4-character creator type, \var{postcreator} is the 4-character creator
99 code of an
100 optional application to post-process the file after downloading,
101 \var{flags} are various bits specifying whether to transfer in binary
102 or ascii and such, \var{extension} is the filename extension for this
103 file type, \var{appname} is the printable name of the application to
104 which this file belongs, \var{postappname} is the name of the
105 postprocessing application, \var{mimetype} is the MIME type of this
106 file and \var{entryname} is the name of this entry.
107 \end{methoddesc}
109 \begin{methoddesc}{maptypecreator}{type, creator\optional{, filename}}
110 Return the mapping entry for files with given 4-character \var{type} and
111 \var{creator} codes. The optional \var{filename} may be specified to
112 further help finding the correct entry (if the creator code is
113 \code{'????'}, for instance).
115 The mapping entry is returned in the same format as for \var{mapfile}.
116 \end{methoddesc}
118 \begin{methoddesc}{settypecreator}{file}
119 Given an existing \var{file}, specified either as a filename or as an
120 \function{FSSpec()} result, set its creator and type correctly based
121 on its extension. The finder is told about the change, so the finder
122 icon will be updated quickly.
123 \end{methoddesc}