128 lines
5.3 KiB
TeX
128 lines
5.3 KiB
TeX
\section{\module{ic} ---
|
|
Access to Internet Config.}
|
|
\declaremodule{builtin}{ic}
|
|
|
|
\modulesynopsis{Access to Internet Config.}
|
|
|
|
|
|
|
|
This module provides access to Macintosh Internet Config package,
|
|
which stores preferences for Internet programs such as mail address,
|
|
default homepage, etc. Also, Internet Config contains an elaborate set
|
|
of mappings from Macintosh creator/type codes to foreign filename
|
|
extensions plus information on how to transfer files (binary, ascii,
|
|
etc).
|
|
|
|
There is a low-level companion module
|
|
\module{icglue}\refbimodindex{icglue} which provides the basic
|
|
Internet Config access functionality. This low-level module is not
|
|
documented, but the docstrings of the routines document the parameters
|
|
and the routine names are the same as for the Pascal or \C{} API to
|
|
Internet Config, so the standard IC programmers' documentation can be
|
|
used if this module is needed.
|
|
|
|
The \module{ic} module defines the \exception{error} exception and
|
|
symbolic names for all error codes Internet Config can produce; see
|
|
the source for details.
|
|
|
|
\begin{excdesc}{error}
|
|
Exception raised on errors in the \module{ic} module.
|
|
\end{excdesc}
|
|
|
|
|
|
The \module{ic} module defines the following class and function:
|
|
|
|
\begin{classdesc}{IC}{\optional{signature\optional{, ic}}}
|
|
Create an internet config object. The signature is a 4-character creator
|
|
code of the current application (default \code{'Pyth'}) which may
|
|
influence some of ICs settings. The optional \var{ic} argument is a
|
|
low-level \code{icglue.icinstance} created beforehand, this may be
|
|
useful if you want to get preferences from a different config file,
|
|
etc.
|
|
\end{classdesc}
|
|
|
|
\begin{funcdesc}{launchurl}{url\optional{, hint}}
|
|
\funcline{parseurl}{data\optional{, start\optional{, end\optional{, hint}}}}
|
|
\funcline{mapfile}{file}
|
|
\funcline{maptypecreator}{type, creator\optional{, filename}}
|
|
\funcline{settypecreator}{file}
|
|
These functions are ``shortcuts'' to the methods of the same name,
|
|
described below.
|
|
\end{funcdesc}
|
|
|
|
|
|
\subsection{IC Objects}
|
|
|
|
\class{IC} objects have a mapping interface, hence to obtain the mail
|
|
address you simply get \code{\var{ic}['MailAddress']}. Assignment also
|
|
works, and changes the option in the configuration file.
|
|
|
|
The module knows about various datatypes, and converts the internal IC
|
|
representation to a ``logical'' Python data structure. Running the
|
|
\module{ic} module standalone will run a test program that lists all
|
|
keys and values in your IC database, this will have to server as
|
|
documentation.
|
|
|
|
If the module does not know how to represent the data it returns an
|
|
instance of the \code{ICOpaqueData} type, with the raw data in its
|
|
\member{data} attribute. Objects of this type are also acceptable values
|
|
for assignment.
|
|
|
|
Besides the dictionary interface, \class{IC} objects have the
|
|
following methods:
|
|
|
|
|
|
\begin{methoddesc}{launchurl}{url\optional{, hint}}
|
|
Parse the given URL, lauch the correct application and pass it the
|
|
URL. The optional \var{hint} can be a scheme name such as
|
|
\code{'mailto:'}, in which case incomplete URLs are completed with this
|
|
scheme. If \var{hint} is not provided, incomplete URLs are invalid.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{parseurl}{data\optional{, start\optional{, end\optional{, hint}}}}
|
|
Find an URL somewhere in \var{data} and return start position, end
|
|
position and the URL. The optional \var{start} and \var{end} can be
|
|
used to limit the search, so for instance if a user clicks in a long
|
|
textfield you can pass the whole textfield and the click-position in
|
|
\var{start} and this routine will return the whole URL in which the
|
|
user clicked. As above, \var{hint} is an optional scheme used to
|
|
complete incomplete URLs.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{mapfile}{file}
|
|
Return the mapping entry for the given \var{file}, which can be passed
|
|
as either a filename or an \function{macfs.FSSpec()} result, and which
|
|
need not exist.
|
|
|
|
The mapping entry is returned as a tuple \code{(}\var{version},
|
|
\var{type}, \var{creator}, \var{postcreator}, \var{flags},
|
|
\var{extension}, \var{appname}, \var{postappname}, \var{mimetype},
|
|
\var{entryname}\code{)}, where \var{version} is the entry version
|
|
number, \var{type} is the 4-character filetype, \var{creator} is the
|
|
4-character creator type, \var{postcreator} is the 4-character creator
|
|
code of an
|
|
optional application to post-process the file after downloading,
|
|
\var{flags} are various bits specifying whether to transfer in binary
|
|
or ascii and such, \var{extension} is the filename extension for this
|
|
file type, \var{appname} is the printable name of the application to
|
|
which this file belongs, \var{postappname} is the name of the
|
|
postprocessing application, \var{mimetype} is the MIME type of this
|
|
file and \var{entryname} is the name of this entry.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{maptypecreator}{type, creator\optional{, filename}}
|
|
Return the mapping entry for files with given 4-character \var{type} and
|
|
\var{creator} codes. The optional \var{filename} may be specified to
|
|
further help finding the correct entry (if the creator code is
|
|
\code{'????'}, for instance).
|
|
|
|
The mapping entry is returned in the same format as for \var{mapfile}.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{settypecreator}{file}
|
|
Given an existing \var{file}, specified either as a filename or as an
|
|
\function{macfs.FSSpec()} result, set its creator and type correctly based
|
|
on its extension. The finder is told about the change, so the finder
|
|
icon will be updated quickly.
|
|
\end{methoddesc}
|