# 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 上のアイコンは即座に更新されます。