Opera の アドレス帳管理ファイル contacts.adr の解析.

注意

この文書は,WindowsXPにWindows版の Opera 9.22の情報に基づいて作成してます.

この文書を基にして,Operaにカスタマイズその他の変更を加えて,不具合が発生しても責任は取れません.

突っ込み,感想,その他は,office@ashula.infoまで

説明

contacts.adrは,Opera のアドレス帳(コンタクト;contacts)を管理するためのファイル.

「ユーザごとの設定を使う」でインストールすると,Opera Directory(通常,%APPDATA%\Opera\Opera\profile)以下に作られる(%APPDATA%は,通常Documents and Settings\user_name\Application Data).

基本的な構造は,Adrs参照.ITEMとして #CONTACT が用いられる.

構造

contacts.adr ファイルは,ヘッダと,本体からなる.文字コードはデフォルトでUTF-8Nが使われる.

数行のヘッダの後,フォルダと個々の コンタクトを表す構造が メモの量だけ繰り返される.

ヘッダ

先頭は,Hotlist書式のversion情報が入る.

その後,ファイルのエンコード情報と,何かのversionが入る.改変が可能かどうかは不明.

Opera Hotlist version 2.0
Options: encoding = utf8, version=3

本体

本体は基本的に,#FOLDER#CONTACT#SEPERATOR,それと-の4つの要素の繰り返しによって構成される.

#FOLDERは,そこから-が現れるまでの区間をひとつのフォルダとして扱うことを示し,#CONTACTは,次の#CONTACT-が現れるまでの区間をひとつの widget として扱うことを示す.

#SEPERATOR は区切り線を表し,任意の位置に出現する.

#FOLDER#CONTACT#SEPERATOR-の4つは行の先頭にあり,それ以外の属性は,タブ(U+09),名,"="(U+3D),値 という構造をしている.

#FOLDER

Contacts Panel でフォルダとして表示される.

#FOLDER の属性一覧
属性名とり得る値属性の種類備考
ID 整数値 必須

すべての#FOLDER#CONTACT#SEPARATORに共通して付けられる.一意の非負整数値.

値は 各種 *.adr 全てに亘って一意の値.

NAME 文字列 任意 識別のための名前.何でもいい.
CREATED UnixTime 任意 作られた時刻のUnixTime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値
ACTIVE YES 任意 選択されているかどうかを示す.
EXPANDED YES (NO) 任意 開かれている状態かどうかを示す.
TRASH FOLDER YES 任意 ゴミ箱(相当)のフォルダにのみ付く.
#CONTACT

個々の 連絡先 を表す.

#CONTACT の属性一覧
属性名とり得る値属性の種類備考
ID 整数値 強制

すべての#FOLDER#CONTACT#SEPARATORに共通して付けられる.一意の非負整数値.

仔細は #FOLDER の ID属性を参照.

NAME 文字列 任意 識別のための名前.
URL URL 任意 Homepage として登録した URL.
DESCRIPTION 文字列 任意 Notes のタブのdescriptionの文字列.改行は,U+02 U+02 に変換されて保存される.
SHORT NAME 文字列 任意 Chat のタブの nickname に対応する文字列.
MAIL メールアドレス 任意 連絡先のメールアドレス. Notes のタブで Additional E-mail address で追加のアドレスを登録すると,first@example.com U+02 U+02 second@example.com となる.
PHONE 文字列 任意 電話番号のようだが,入力文字の種別に特に制限は無い.
FAX 文字列 任意 FAX番号のようだが,入力文字の種別に特に制限は無い.
POSTALADDRESS 文字列 任意 住所のようだが,入力文字の種別に特に制限は無い.
PICTUREURL URL 任意 General のタブで表示される画像の URL, ローカルのファイルも file: schema で登録できる.
ICON URLかContactX 強制 Contacts Panelなど で表示されるアイコンのURL もしくは 組み込みのアイコン名 (ContactX; X は 0から 37?までの数)
CREATED UnixTime 強制 アイテムが作られた時刻のunixtime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値
ACTIVE YES 任意 Operaの終了時にアクティブだった場合につく.
#SEPARATOR

区切り線 を表す.

#SEPARATOR の属性一覧
属性名とり得る値属性の種類備考
ID 整数値 強制 省略.仔細は #FOLDER の ID属性を参照.

構成

フォルダの階層構造についてはOpera6.adr の構成と同様なので省略.

参考文献

更新履歴

  1. 2007/07/15 : 初版