| 1 | \section{\module{ic} ---
|
|---|
| 2 | Access to Internet Config}
|
|---|
| 3 |
|
|---|
| 4 | \declaremodule{builtin}{ic}
|
|---|
| 5 | \platform{Mac}
|
|---|
| 6 | \modulesynopsis{Access to Internet Config.}
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 | This module provides access to various internet-related preferences
|
|---|
| 10 | set through \program{System Preferences} or the \program{Finder}.
|
|---|
| 11 |
|
|---|
| 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.
|
|---|
| 19 |
|
|---|
| 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.
|
|---|
| 23 |
|
|---|
| 24 | \begin{excdesc}{error}
|
|---|
| 25 | Exception raised on errors in the \module{ic} module.
|
|---|
| 26 | \end{excdesc}
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 | The \module{ic} module defines the following class and function:
|
|---|
| 30 |
|
|---|
| 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}
|
|---|
| 39 |
|
|---|
| 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}
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 | \subsection{IC Objects}
|
|---|
| 51 |
|
|---|
| 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.
|
|---|
| 55 |
|
|---|
| 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.
|
|---|
| 61 |
|
|---|
| 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.
|
|---|
| 66 |
|
|---|
| 67 | Besides the dictionary interface, \class{IC} objects have the
|
|---|
| 68 | following methods:
|
|---|
| 69 |
|
|---|
| 70 |
|
|---|
| 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}
|
|---|
| 77 |
|
|---|
| 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}
|
|---|
| 87 |
|
|---|
| 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.
|
|---|
| 92 |
|
|---|
| 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}
|
|---|
| 108 |
|
|---|
| 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).
|
|---|
| 114 |
|
|---|
| 115 | The mapping entry is returned in the same format as for \var{mapfile}.
|
|---|
| 116 | \end{methoddesc}
|
|---|
| 117 |
|
|---|
| 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}
|
|---|