37.1. "ic" --- Mac OS X のインターネット設定へのアクセス
********************************************************

このモジュールでは、 **システム設定** や **Finder** で設定したインター
ネット関連の設定へのアクセス機能を提供しています。

注釈: このモジュールは Python 3.x で削除されました。

このモジュールには、 "icglue" という低水準の関連モジュールがあり、イン
ターネット設定への基本的なアクセス機能を提供しています。この低水準のモ
ジュールはドキュメント化されていませんが、各ルーチンの docstring には
パラメタの説明があり、ルーチン名には Internet Config に対する Pascal
や C のインタフェースと同じ名前を使っているので、このモジュールが必要
な場合には標準の IC プログラマドキュメントを利用できます。

"ic" モジュールでは、例外 "error" と、インターネット設定から生じる全て
のエラーコードに対するシンボル名を定義しています。詳しくはソースコード
を参照してください。

exception ic.error

   "ic" モジュール内部でエラーが生じたときに送出される例外です。

"ic" モジュールは以下のクラスと関数を定義しています:

class ic.IC([signature[, ic]])

   インターネット設定オブジェクトを作成します。 *signature* は、IC の
   設定に影響を及ぼす可能性のある現在のアプリケーションを表す 4 文字の
   クリエータコード (デフォルトは "'Pyth'") です。オプションの引数
   *ic* は低水準モジュールであらかじめ作成しておいた
   "icglue.icinstance" で、別の設定ファイルなどから設定を得る場合に便
   利です。

ic.launchurl(url[, hint])
ic.parseurl(data[, start[, end[, hint]]])
ic.mapfile(file)
ic.maptypecreator(type, creator[, filename])
ic.settypecreator(file)

   これらの関数は、後述する同名のメソッドへの「ショートカット」です。


37.1.1. IC オブジェクト
=======================

"IC" オブジェクトはマップ型のインターフェースを持っているので、メール
アドレスの取得は単に "ic['MailAddress']" でできます。値の代入もでき、
設定ファイルのオプションを変更できます。

このモジュールは各種のデータ型を知っていて、IC 内部の表現を「論理的な
」 Python データ構造に変換します。 "ic" モジュールを単体で実行すると、
テストプログラムが実行されて IC データベースにある全てのキーと値のペア
をリスト表示するので、文書代わりになります。

モジュールがデータの表現方法を推測できなかった場合、 "data" 属性に生の
データが入った "ICOpaqueData" 型のインスタンスを返します。この型のオブ
ジェクトも代入に利用できます。

"IC" には辞書型のインターフェースの他にも以下のようなメソッドがありま
す:

IC.launchurl(url[, hint])

   与えられた URL を解析し、適切なアプリケーションを起動して URL を渡
   します。省略可能な *hint* は、 "'mailto:'" などのスキーム名で、不完
   全な URL はこのスキームにあわせて補完します。 *hint* を指定していな
   い場合、不完全なURLは無効になります。

IC.parseurl(data[, start[, end[, hint]]])

   *data* の中から URL を検索し、 URL の開始位置、終了位置、 URL その
   ものを返します。オプションの引数 *start* と *end* を使うと検索範囲
   を制限できます。例えば、ユーザーが長いテキストフィールドをクリック
   した場合に、このルーチンにテキストフィールド全体とクリック位置
   *start* を渡すことで、ユーザーがクリックした場所にある URL 全体を返
   させられます。先に述べたように、 *hint* はオプションで、不完全な
   URL を補完するためのスキームです。

IC.mapfile(file)

   *file* に対するマッピングエントリを返します。 *file* にはファイル名
   か "FSSpec()" の戻り値を渡せます。実在しないファイルであってもかま
   いません。

   マッピングエントリは "(version, type, creator, postcreator, flags,
   extension, appname, postappname, mimetype, entryname)" からなるタプ
   ルで返されます。 *version* はエントリーのバージョン番号、 *type* は
   4 文字のファイルタイプ、 *creator* は 4 文字のクリエータタイプ、
   *postcreator* はファイルのダウンロード後にオプションとして起動され
   、後処理を行うアプリケーションの 4 文字のクリエータコードです。
   *flags* は、転送をバイナリで行うかアスキーで行うか、などの様々なフ
   ラグビットからなる値です。 *extension* はこのファイルタイプに対する
   ファイル名の拡張子、 *appname* はファイルが属するアプリケーションの
   印字可能な名前、 *postappname* は後処理用アプリケーション、
   *mimetype* はこのファイルのMIMEタイプ、最後の *entryname* はこのエ
   ントリの名前です。

IC.maptypecreator(type, creator[, filename])

   4 文字の *type* と *creator* コードを持つファイルに対するマッピング
   エントリを返します。(クリエータが "'????'" であるような場合に) 正し
   いエントリが見つかりやすいようにオプションの *filename* を指定でき
   ます。

   マッピングエントリーは *mapfile* と同じフォーマットで返されます。

IC.settypecreator(file)

   実在のファイル *file* に対して、拡張子に基づいて適切なクリエータと
   タイプを設定します。 *file* の指定は、ファイル名でも "FSSpec()" の
   戻り値でもかまいません。変更は Finder に通知されるので、Finder 上の
   アイコンは即座に更新されます。
