Zaurus DataBase Access Tool
LinuxZaurus の PIMデータベース(BOX形式) にアクセスするためのツールです。
BOX形式のデータベースを使用していないA300では使用できません。
PIMのデータを直接扱うので間違った操作をするとデータを壊すおそれがありますので十分にご注意下さい。
またこのツールの使用によりデータが壊れるようなことがあっても自己責任ということでお願いします。
更新履歴
- Version 1.0.1 2005/03/21
- MailInbox,MailOutboxで外部ストレージ(SD,CF)を指定できるように修正(コマンドラインオプション-e)。
- Version 1.0.0 2004/11/14
- SL-C3000でシャープライブラリの実装が変わったようなので、QApplication(QPEApplication)の初期化処理を追加。
- Version 0.2.9 2004/02/19
- 時間のオフセットの計算を間違えていたので修正。
- Version 0.2.8 2004/02/15
- システムフィールド(CTTM,MDTM,他?)のレコード情報(-iオプション)を表示できるように変更。
- Version 0.2.7 2004/02/15
- システムフィールド(CTTM,MDTM,他?)を取得できるように変更。
- Version 0.2.6 2004/01/27
- 存在しないカテゴリーが指定された場合に自動的にカテゴリーの追加が出来るように変更。
- 0.2.5では0.2.4以前のバージョンとの互換性のためにID指定されたカテゴリーも使用できるようにしていましたが、今回のバージョンからID指定は不可能になりました。0.2.4以前のバージョンで読み出したカテゴリ有りのデータを書き込むとカテゴリーが正常に反映されません。
- Version 0.2.5 2003/10/19
- カテゴリー名を使用できるように変更。(今まではIDをそのまま使用していましたが、名称を使用できるようにしました)
- Version 0.2.4 2003/10/13
- 日付のみ(時間無し)のフィールドの扱いがうまくいってなかったので修正。(終日予定等が扱えませんでした)
- Version 0.2.3 2003/09/26
- カテゴリの無いデータベースでも必ずカテゴリを更新しようとしてしまっていたので修正。
- Version 0.2.2 2003/09/18
- ダブルクォート(")入りのレコードの入力処理がまずかったので修正。
- Version 0.2.1 2003/09/13
- 日付/時刻をデータベースに入っているデータをそのまま出力するように変更。(この変更により、出力データの末尾にZが付かなくなります。)
- Version 0.2.0 2003/09/04
- 初版 リリース
使用例
- アドレス帳のバックアップと復旧
- 天気予報を取得してカレンダに登録するスクリプト
- KO/PiでもSharp DTMのI/Oに使用されているようです。
ダウンロード
バイナリ
- 最新バージョン
- Version 1.0.1 zdbat_1.0.1-1_arm.ipk
- 旧バージョン
- Version 1.0.0 zdbat_1.0.0-1_arm.ipk
- Version 0.2.9 zdbat_0.2.9-1_arm.ipk
- Version 0.2.8 zdbat_0.2.8-1_arm.ipk
- Version 0.2.7 zdbat_0.2.7-1_arm.ipk
- Version 0.2.6 zdbat_0.2.6-1_arm.ipk
- Version 0.2.5 zdbat_0.2.5-1_arm.ipk
- Version 0.2.4 zdbat_0.2.4-1_arm.ipk
- Version 0.2.3 zdbat_0.2.3-1_arm.ipk
- Version 0.2.2 zdbat_0.2.2-1_arm.ipk
- Version 0.2.1 zdbat_0.2.1-1_arm.ipk
- Version 0.2.0 zdbat_0.2.0-1_arm.ipk
ソース
- 最新バージョン
- Version 1.0.1 zdbat_1.0.1_src.tar.gz
- 旧バージョン
- Version 1.0.0 zdbat_1.0.0_src.tar.gz
- Version 0.2.9 zdbat_0.2.9_src.tar.gz
- Version 0.2.8 zdbat_0.2.8_src.tar.gz
- Version 0.2.7 zdbat_0.2.7_src.tar.gz
- Version 0.2.6 zdbat_0.2.6_src.tar.gz
- Version 0.2.5 zdbat_0.2.5_src.tar.gz
- Version 0.2.4 zdbat_0.2.4_src.tar.gz
- Version 0.2.3 zdbat_0.2.3_src.tar.gz
- Version 0.2.2 zdbat_0.2.2_src.tar.gz
- Version 0.2.1 zdbat_0.2.1_src.tar.gz
- Version 0.2.0 zdbat_0.2.0_src.tar.gz
コマンドラインオプション
--- Zaurus DataBase Access Tool version 1.0.1 --- Usage: zdbat TYPE [-i|-r [-f FIELDS] [-n CARDID]|-w [-g]|-d] [-s SYSTEM FIELDS] [-b BASEDIR] [-e STORAGE] [-c CODEC] [-h] TYPE database type address : AddressBook todo : ToDo datebook : DateBook inbox : MailInbox outbox : MailOutbox memo : Memo -i show record information(default) -r read records -f database fields list(CSV) -n number of cardid -w write records -g add undefined category -d delete records -s database system fields list(CSV) -b set base directory -e set external storage(1:SD, 2:CF) -c set text codec eucJP(default) ShiftJIS utf8 ... -h print this help
TYPE
アクセスするデータベースの種類を指定します。
TYPE | 内容 |
address | アドレス帳 |
todo | ToDo |
datebook | カレンダー |
inbox | 受信メール |
outbox | 送信メール |
memo | メモ帳 |
-i
データベースのレコード情報を表示します。
結果はCSVファイル形式で標準出力に出力されます。
-r
データベースからレコードを読み込みます。
結果はCSVファイル形式で標準出力に出力されます。
-f FIELDS
全てのフィールドではなく、指定したフィールドのみを読み込みたい場合に指定します。
読み込みたいフィールド識別名をカンマで区切って指定します。
例) メールのサブジェクトと本文のみを読み込み
zdbat inbox -r -f "SBJT,BODY"
-n CARDID
指定したカードIDのレコードを読み込みます。
-w
データベースにレコードを追加、またはレコードを編集します。
標準入力からCSVファイル形式のデータを読み込んで動作します。
必須のフィールドとしてCARDIDを指定する必要があります。
CARDIDが0の場合は新規レコードの追加、
CARDIDが0より大きい場合は指定されたCARDIDのレコードの編集になります。
標準出力に実行結果がCSVファイル形式で出力されます。
変更前のデータ、変更後のデータが交互に出力されます。
エラーが発生した場合にはCARDIDが-1のデータが出力されます。
CARDID以外はヘッダ行で指定したフィールドに対してのみ編集が行われます。
(指定していないフィールドは、追加時はデータが空、編集時は無編集になります)
ただし、アプリケーション側で必須なフィールドかどうかは考慮していないので
アプリケーション側で必須なフィールドには必ずデータを入れるようにして下さい。
-g
CATEGORYに存在しないカテゴリー名が指定された場合に自動的にカテゴリーの追加を行います。
通常は存在しないカテゴリー指定は無視されます。
-d
データベースのレコードを削除します。
標準入力からCSVファイル形式のデータを読み込んで動作します。
必須のフィールドとしてCARDIDを指定する必要があります。
CARDID以外のフィールドが指定された場合には
フィールドの内容が一致した場合のみ削除が行われます。
標準出力に実行結果がCSVファイル形式で出力されます。
変更前のデータ、CARDIDが0のデータが交互に出力されます。
エラーが発生した場合にはCARDIDが-1のデータが出力されます。
-s SYSTEM FIELDS
CTTM,MDTM等のシステムフィールドを読み込みたい場合に指定します。
読み込みたいフィールド識別名をカンマで区切って指定します。
例) CTTM,MDTMを含めてレコードを読み込み
zdbat todo -r -s "CTTM,MDTM"
- i オプションでの情報表示も可能です。
例) CTTM,MDTMを含めてレコード情報を出力
zdbat todo -i -s "CTTM,MDTM"
-b BASEDIR
デフォルト以外のデータベースファイル(.BOX)を使用するときに指定します。
SDカードやCFカードのデータベースファイルにアクセスする時等に使用します。
※MailInbox,MailOutbox以外の場合
-e STORAGE
デフォルト以外のデータベースファイル(.BOX)を使用するときに指定します。
SDカードやCFカードのデータベースファイルにアクセスする時等に使用します。
※MailInbox,MailOutboxの場合
上記BASEDIRの指定は必要ありません。
指定値 | 使用ストレージ |
1 | SD |
2 | CF |
-c CODEC
入出力のコーデックを変更するときに指定します。デフォルトはEUCコードです。
-h
ヘルプを表示します。
CSVファイル形式
フォーマット
カンマ区切りのテキストファイルで、下記のルールに従って記述します。
1行目はヘッダー行、2行目以降をデータ行として扱います。
- カンマ、ダブルクォート、改行が含まれる場合はダブルクォートで括る。
- ダブルクォート内のダブルクォートは2重に記述する。
- 先頭または末尾に空白文字がある場合もダブルクォートで括る。
- データ無しと空白文字列データを区別するために空白文字列は "" で表す。
識別名
フィールド名は全て4文字の識別名を持つが、
カードID、カテゴリーは特別扱いとしCARDID、CATEGORYをフィールド名に使用する。
カードIDは必須のフィールドである。
データ型
text | 文字列 |
uchar | 8bit整数値 |
ushort | 16bit整数値 |
ulong | 32bit整数値 |
time | 日付/時刻(ISO8601形式?) |
CARDID | 32bit整数値 |
CATEGORY | カンマ区切り文字列(値はint(ID)またはカテゴリ名(文字列)) |
日付/時刻形式
日付/時刻形式はQtopiaの TimeConversion::fromISO8601() を使用して変換しています。
タイムゾーンの指定にも対応しているようなので
- 2003-09-04T23:24:58+09:00
- 20030904T232458+0900
のような書式でも記述可能です。
末尾にZが入った場合にはUTC、タイムゾーンの指定がない場合にはローカルタイムとして扱うようです。
ハイフン(-)、コロン(:)は削除してから変換を行っているようなので
有ってもなくても変換は可能です。
データベース定義
内容まで全部書ききれないので分かった方は追記お願いします。
AddressBook
識別名 | データ型 | 内容 | 備考 |
FULL | text | 表示名 | 編集不可。一覧表示の個人名として使用。編集時に個人名(姓)、ミドルネーム、個人名(名)で上書きされる。 |
TITL | text | タイトル? | 未使用。編集時にも変更されない。 |
LNME | text | 個人名(姓) | |
FNME | text | 個人名(名) | |
MNME | text | ミドルネーム | オプション→入力項目設定で選択すると編集できる。 |
SUFX | text | 敬称? | 未使用。編集時にも変更されない。 |
FLAS | text | 表示名(英語表記) | 表示されることはない。編集時に個人名(姓)、ミドルネーム、個人名(名)で上書きされる。 |
LNPR | text | よみ(姓) | |
FNPR | text | よみ(名) | |
NAPR | text | 表示名(よみ) | 詳細表示の際に個人名のよみとして表示される。 |
CPNY | text | 会社名 | |
CPPR | text | よみ(会社名) | |
SCTN | text | 所属 | |
PSTN | text | 役職 | |
TEL2 | text | [会社]TEL | |
FAX2 | text | [会社]FAX | |
CPS2 | text | [会社]携帯電話 | オプション→入力項目設定で選択すると編集できる。 |
BSTA | text | [会社]都道府県 | |
BCTY | text | [会社]市町村 | |
BSTR | text | [会社]番地 | |
BZIP | text | [会社]郵便番号 | |
BCTR | text | [会社]国名 | オプション→入力項目設定で選択すると編集できる。 |
BWEB | text | [会社]Webページ | オプション→入力項目設定で選択すると編集できる。 |
OFCE | text | オフィス? | 未使用。編集時にも変更されない。 |
PRFS | text | 不明 | 未使用。編集時にも変更されない。 |
ASST | text | アシスト? | 未使用。編集時にも変更されない。 |
MNGR | text | マネージャ? | 未使用。編集時にも変更されない。 |
BPGR | text | ポケベル | オプション→入力項目設定で選択すると編集できる。 |
CPS1 | text | 携帯電話 | |
TEL1 | text | [自宅]TEL | |
FAX1 | text | [自宅]FAX | |
HSTA | text | [自宅]都道府県 | |
HCTY | text | [自宅]市町村 | |
HSTR | text | [自宅]番地 | |
HZIP | text | [自宅]郵便番号 | |
HCTR | text | [自宅]国名 | オプション→入力項目設定で選択すると編集できる。 |
HWEB | text | [自宅]Webページ | オプション→入力項目設定で選択すると編集できる。 |
DMAL | text | メールアドレス(その2?) | 編集は出来るが、表示はされない。カンマとスペースで区切って2つアドレスを入力した場合の最初のアドレス。 |
MAL1 | text | メールアドレス | カンマとスペースで区切って2つアドレスを入力した場合の2番目のアドレス。 |
SPUS | text | 配偶者 | オプション→入力項目設定で選択すると編集できる。 |
GNDR | text | 性別 | 男性が1、女性が2。 |
BRTH | text | 誕生日 | |
ANIV | text | 記念日 | オプション→入力項目設定で選択すると編集できる。 |
NCNM | text | ニックネーム | オプション→入力項目設定で選択すると編集できる。 |
CLDR | text | 不明 | 未使用。編集時にも変更されない。 |
MEM1 | text | メモ | 改行なども含んだ内容を記述できる。 |
GRPS | text | グループ? | 未使用。編集時にも変更されない。 |
ToDo
識別名 | データ型 | 内容 | 備考 |
ETDY | time | 開始日 | |
LTDY | time | 期限日 | |
FNDY | time | 処理日 | |
MARK | uchar | 完了チェック(0:完了,1:未完) | |
PRTY | uchar | 重要度(1-5) | |
TITL | text | 内容 | |
MEM1 | text | メモ |
DateBook
識別名 | データ型 | 内容 | 備考 |
DSRP | text | 記述 | |
PLCE | text | 場所 | |
MEM1 | text | メモ | 複数行にわたるメモも可。 |
TIM1 | time | 開始 | |
TIM2 | time | 終了 | |
ADAY | uchar | 終日 | 1=yes,0=no |
ARON | uchar | アラームon/off | 0=on,1=off (???) |
ARMN | ushort | アラーム時間 | 何分前 |
ARSD | uchar | アラーム音 | 1=あり, 0=なし |
RTYP | uchar | 繰り返しの種類 | 255(signed charなら-1)=なし, 0=日, 1=週, 2=月(曜日指定), 3=月(日付指定), 4=年 |
RFRQ | ushort | 繰り返しの間隔 | 1=毎日(週、月), 2=1日(週、月)おき, ... |
RPOS | ushort | 繰り返しの位置 | 1=月の第1週, ... |
RDYS | uchar | 繰り返しの曜日 | 7ビットで、下位ビットから月、火、水、…を表す。例: 月水金=21 |
REND | uchar | 繰り返し最終日あり | 1=あり |
REDT | time | 繰り返し最終日 | UTC |
ALSD | time | 終日の予定の開始日 | |
ALED | time | 終日の予定の終了日 | ALSDと異なる場合、MDAY=1 |
MDAY | uchar | 終日の継続 | 1=あり, 0=なし |
Datebookは標準環境で高速起動が有効になっていますが、この場合はzdbatでレコードの追加、削除、変更をした後には、カレンダに表示するために以下を実行する必要があります。
qcop QPE/Application/datebook "reload()"
識別名 | データ型 | 内容 | 備考 |
MLID | ulong | ||
SIZE | ulong | ||
TYPE | uchar | 1で固定? | |
RDCK | uchar | 既読チェック | |
DLCK | uchar | ||
DECK | uchar | ||
SVID | text | X-UIDL | 0x21から0x7Eの範囲の1から70文字で、ユニークになるように構成 |
SDCK | uchar | ||
MDCK | uchar | ||
DRFT | uchar | ||
SLCK | uchar | ||
ACNM | text | アカウント名 | |
MLBX | text | フォルダ名 | |
RVTM | time | 受信日時 | |
SDTM | time | 送信日時 | |
TMZN | text | TimeZone | |
FMAC | text | pop3アカウント | |
FMNM | text | From名前 | |
FMAD | text | Fromアドレス | |
MLTO | text | To | |
MLCC | text | Cc | |
MLBC | text | Bcc | |
MLRP | text | Reply-To | |
SBJT | text | 件名 | |
BODY | text | 本文 | |
HTML | text | ||
ENNM | ushort | 添付ファイル数 | 添付ファイルがないときは0を指定。 |
ENAT | text | MIMEタイプ | plain、png、x-bmpなど。複数添付ファイル時はカンマ区切りで記述。 |
ENTP | text | MIMEタイプ | text、imageなど。 〃 。 |
ENFL | text | ファイルパス | フルパスで指定。 〃 。 |
DMMY | text | その他ヘッダ | C750/60および1.50JP以降のC700/B500ではMessage-Id・In-Reply-To・Referenceが、[ヘッダ名 中身 改行]という形で入っている。ヘッダ名は内容の有無にかかわらず必ずある。1.20JPまでのC700/B500では何も入っていない。 |
Memo
識別名 | データ型 | 内容 | 備考 |
CLAS | text | 名前 | |
MEM1 | text | 本文 | |
DATE | time |
コメント
ご意見、ご要望はこちらにどうぞ。
- 2003-09-05 (Fri) 00:54:35 noir : はじめまして。A300のカレンダー・ToDoのデータをiCalendar(RFC2445)形式にしてMac OS XのiCalに渡すためのRubyスクリプトというのを作ったばかりなんですが、こちらのプログラムを応用させていただければB500/C7x0用にも拡張できそうです。といっても私はA300しか持っておらず、BOX形式のカレンダーのデータ形式(とくに繰り返し関連)なんかがよくわかりませんけれども……。
- 2003-09-05 (Fri) 11:58:00 にゃののん : AddressBookの内容を書いてみました。あまり、Wiki使ったことないんで何かマズいことしてたらごめんなさい。
- 2003-09-05 (Fri) 14:09:31 inue : Mailについて、少し追記しました。
- 2003-09-07 (Sun) 18:27:20 JU.? : http://www.geocities.co.jp/SiliconValley-PaloAlto/9337/ebreadme.htmlのソースって少しは参考になるでしょうか
- 2003-09-10 (Wed) 00:18:50 noir : カレンダーのデータですが、Qtopia SDKのヘッダファイルを見たらだいたい想像がつきました。A300のXML形式のものと変わらなそうですね。ここに書いちゃっていいのかな……。
- 2003-09-10 (Wed) 00:39:23 塚本牧生 : 私が答えることじゃないですけど、書いてもらえると助かりますぅ。とりあえず上の5項目はぱっと見で分かったので埋めたのですが、最低限、終日フラグと繰り返しの制御あたりが分からないと使いにくくて。
- 2003-09-10 (Wed) 01:07:06 noir : 繰り返しについて予想で書いてみました。実機オーナーの方確認お願いします。終日フラグはADAYとMDAYのどちらなんでしょうね?
- 2003-09-10 (Wed) 08:32:53 yakty : >JU.さん。これって自力でBOXファイル読んでますよね…?私のはシャープのライブラリを使っているのでやっていることは全然違いそうです…。>にゃののんさん、inueさん、noirさん。どうもありがとうございます。wikiなので間違ってたりしたら誰か気付いた人が直してくれるでしょうから、遠慮せずどんどん書き込んでください。
- 2003-09-12 (Fri) 03:08:06 noir : datebookの終日フラグとアラームについても調べてみました。
- 2003-09-13 (Sat) 15:14:04 noir : datebookのTIM1, TIM2ですが、私のところでは9時間ではなく18時間引かれているっぽいです。カレンダーで開始時刻を2003年9月13日09:00に設定すると、TIM1は20030912T150000Zになってます (本当は20030913T000000Zのはずなのに)。私のザウルスの設定が何かおかしいんでしょうか。ちなみに、環境変数TZは Asia/Tokyo、date は Sat Sep 13 15:13:19 JST 2003 と表示されます。
- 2003-09-13 (Sat) 15:51:45 noir : もしかしたら、zdbにはUTCで記録されているので、readTimeItem(name, id, true) としなければならないんじゃないでしょうか。
- 2003-09-13 (Sat) 16:18:05 noir : あれ、でも終日の場合は、もし0時を意味するとすると、正しく20030912T15000000Zになってる……。シャープのカレンダーのほうがおかしな記録の仕方をしている?
- 2003-09-13 (Sat) 23:31:11 yakty : 日付/時刻の出力部分で今まではQtopiaのTimeConversion::toISO8601()を使用していたのですが、この関数は問答無用でUTCに変換を行っていたので、データベースに入ってるデータをそのまま出力するように変更してみました。余計なことはしない方が良さそうなので…(笑)
- 2003-09-13 (Sat) 23:34:27 yakty : 9時間引くとかが不要になると思いますのでより直感的にデータを見れるようになったと思います。
- 2003-09-14 (Sun) 10:16:40 noir : いただきました。ありがとうございます。実は zical.rb http://noir.s7.xrea.com/archives/000054.html という、PIMデータをMac OS XのiCalに送るためのツールを細々と作っているのですが、おかげさまで動作テストがしやすくなりました。
- 2003-09-19 (Fri) 10:46:01 moke? : アプリのプロパティで高速起動オプションつけてると、データ操作前のキャッシュが残ってて危険ですね。気づかず何度かデータぶっ壊してしまいました。みなさんも気をつけてください。
- 2003-09-26 (Fri) 01:33:50 塚本牧生 : メールのインポートにチャレンジしています。1件ファイルに出力、そのままで一度、本文に1行追加して一度インポートをしてみましたが、"SlZDataManager::writeitem error in writing CTGR. updateCategories error"となってしまいました。メールのインポートに成功した方っていらっしゃいますか?
- 2003-09-26 (Fri) 09:46:54 yakty : ゴメンナサイ…バグデシタ…カテゴリの無いデータベースでも必ずカテゴリを更新しにいっちゃってました。お昼にでも実機で動作確認して0.2.3をリリースします。
- 2003-09-26 (Fri) 13:25:46 塚本牧生 : そんなに急がないので...ああっ、気が付いたらもう更新されている!Yahooニュースと天気予報、どちらからいこうかな、と思いつついじっていたのですが、datebookの更新はスムーズに行ったので、天気予報をいじり始めたところです。急がせてしまって、すみませんでした。
- 2003-09-26 (Fri) 13:29:19 yakty : いや…単にバグがあるのを知っておきながら放っておくのが嫌だったので…(笑) 待っている人もいそうなので頑張って下さい!<天気予報
- 2003-10-13 (Mon) 01:15:05 塚本牧生 : 天気予報関連ですが(...進みが遅いですね)、終日の予定の登録がうまくいかなくて困ってます。(1)10月10日の終日の予定を作成、(2)そのレコードをzdbat -r -n xx > xx.txtでエクスポート、(3)zdbat -w < xx.txtでインポート、とすると、レコードが当日(今やると10月13日)に移ってしまい、しかもこのレコードが、明日になると14日のところに表示される、という怪現象。何か分かりますでしょうか?
- 2003-10-13 (Mon) 08:15:19 yakty : うーむ…これはどういう事でしょうね…余計なことはしていないつもりなのに…(;_;)どなたか情報持っている方はいらっしゃいませんか?
- 2003-10-13 (Mon) 11:37:26 塚本牧生 : 関係性不明ですが、時刻フィールドで「20031010」と指定して1レコードをインポートした時に、zdbatが出力するログは2行とも「20031010T000000」と時間部分を加えた標記になっています。datebook2で終日の予定を登録する方法が「00:00:00から23:59:59とする」だったので、時刻部分をあれこれ変えて試していた際、ふと気になったのですけど...。
- 2003-10-13 (Mon) 12:12:41 yakty : データ読み出しの時に"QTime::setHMS Invalid time 31:63:63.000"みたいなエラーが出ているんでこの辺に原因がありそうです。今外なんで帰ったら調査しようと思います。
- 2003-10-13 (Mon) 23:28:04 yakty : ふうっやっとどうにかなりました。結構やっかいでした…(^_^; 実行時に"QTime::setHMS Invalid time 31:63:63.000"が出るのは仕様って事で。
- 2003-10-13 (Mon) 23:43:35 塚本牧生 : 塚本@甲府のホテルです。雨のせいでひどい一日でしたが、夜になってみると問題が(他力で(^^;)解決していたので、気分がよくなりました。ありがとうございます!
- 2003-10-14 (Tue) 08:48:36 塚本牧生 : キモはALSDとALEDフィールドでしたか...。いろいろ確認できました。上の表の方、更新しました。
- 2003-10-14 (Tue) 09:07:38 yakty : 時間部分が無効な日付データ(ようは日付のみのデータ)がある事に気付いてなかったんですよね〜。まだ他にもデータの扱いで見落としている部分があるかもしれません…(^_^;
- 2003-10-15 (Wed) 23:20:58 塚本牧生 : ようやく、datebookからの読出し、書込み、書換え、削除と一通り使った天気予報取得スクリプトが動作するところまでこぎつけました。やっぱり、PIMデータを触れるのは楽しいです。多謝!
- 2003-10-19 (Sun) 00:14:30 yakty : もさんの要望に対応するべく、カテゴリをIDそのままではなく名称を使用できるように変更しました。(厳密には要望にお応えするのは塚本さん?(笑))と言うわけでよろしくお願いします(笑) とここまで書いたところでちょっと違う仕様にしたくなってきたのでダウンロードを一旦休止します。
- 2003-10-19 (Sun) 00:26:43 yakty : カテゴリ名称を指定した場合に指定したカテゴリが存在しなかった場合は、そのカテゴリは無視するようにしました。CATEGORYに天気予報と指定して登録する仕組みが出来れば、もさんの要望は満たされると思います。
- 2003-10-19 (Sun) 02:31:12 塚本牧生 : わははは、カテゴリは難しいのですと書こうととしていたら、0.2.5版が出ているじゃないですか。わーはははは。<酔ってる
- 2003-10-19 (Sun) 07:54:21 yakty : よしっ勝った!(笑)
- 2003-10-19 (Sun) 15:20:25 塚本牧生 : 負けましたぁ。ということで、pre4版公開。しかし、カテゴリ名での登録は非常に楽ですね。
- 2003-10-20 (Mon) 00:12:05 ichitokumei : こんにちは。datebook2 作者です。よろしくお願いいたします。高速起動のカレンダー等に変更が反映されない件ですが、書込み後 QPE/Application/datebook に reload() を投げればよいようです(Qtopia の reference だと QPE/Sync のはずなのですが)。
- 2003-10-20 (Mon) 00:25:59 ichitokumei : あと、書込み前に flush() を送って少し待つと衝突を避けるおまじないになるかもしれません。asynchronous なのであまりあてにはなりませんが。 ...というわけで、reload() を投げるようにしていただけませんでしょうか(zdbat を呼び出す側で qcop コマンドを使う、というのも正しいような気はしますが)。
- 2003-10-20 (Mon) 01:20:21 塚本牧生 : ひとまず天気予報側でreloadをかけるようにしてみました。...が、天気予報以外に利用者が現れるときのことを考えると、各自で行うよりも、zdbat側で一箇所の修正ですんでいる方がよいかもしれないです。
- 2003-10-20 (Mon) 09:11:41 yakty : うーん…どうしましょう。datebookの特定のqcopチャンネルではなく、BOX形式のデータベースを扱うチャンネルがあればzdbatのお仕事かな?とも思うんですが、QPE/Application/datebookにメッセージを投げるのはzdbat呼び側のお仕事な気がします…。ちょっと悩んでみます。
- 2003-10-21 (Tue) 13:19:06 塚本牧生 : あ、じゃあ呼び側のお仕事でFixにします?そしたら、weatherのpre5版をそのまま0.2.0版にしちゃえますし。(^_^;
- 2003-10-21 (Tue) 19:38:44 yakty : やっぱりzdbatに処理を組み込むのはスマートじゃない気がするんで、そうしてもらってもいいですか?zdbatに組み込むもっともらしい理由を思いついたらor指摘されたらまた考えてみます。
- 2003-10-21 (Tue) 21:43:50 塚本牧生 : 了解です。qcopのことはdatebookのフィールド一覧の下に入れておきましたが、 "-w" オプションの説明内のほうがよいかもしれません。適宜、移動をお願いします。
- 2003-10-21 (Tue) 22:49:16 塚本牧生 : 今weatherを/etc/ppp/ip-upから実行できないかと試していました。weatherを実行すると、zdbatを実行している箇所でsegmentation faultの1行が出ています。また、ip-upに直接 /home/QtPalmtop/bin/zdbat datebook -w < CSVファイル > ログファイル 2>&1 とするとこの行の出力はなし、 /usr/bin/sudo -u zaurus zdbat (以下左記に同じ) とすると出力がないのに加え、その行でスクリプトが落ちているらしく、以降のスクリプトが実行されていないようです。シャープのライブラリの方の問題かな、とは思うのですが、何か分かるでしょうか?
- 2003-10-22 (Wed) 00:12:25 yakty : 環境変数辺りでしょうか?QTDIRとかQPEDIRとか… シェアードライブラリのロードに問題があるとすれば、LIBPATHとかLD_LIBRARY_PATHとかかなぁ…?
- 2003-10-22 (Wed) 00:49:48 yakty : 全部外れ…(^_^; HOMEでした。 環境変数HOMEを/home/zaurusにセットしてやればOKそうです。
- 2003-10-22 (Wed) 02:09:51 塚本牧生 : う、だいぶ進んだ気がするのですが、またエラーが。$HOME設定後、直接またはsudoでzdbatでは updateCategories error が発生、 sudo -u zaurus (export HOME=/home/zaurus; zdbat 以下略) では落ちている様子、CATEGORYに"天気予報"を指定するのをやめ、空にすると startEditCard error です。重ね重ねでごめんなさい〜。
- 2003-10-22 (Wed) 09:21:55 yakty : ぐは… -r しか試してませんでした…(^_^; うーん、やっぱり昨日思いついたものを作ろうかなぁ…。ネットワーク接続を監視して、接続時、(切断時も?)に任意のプログラム/スクリプトを実行するようなアプレットってあったら便利ですかね?多分アプレットから起動すればzaurusユーザーだから問題もなくなるし…。しかも昨日試してて気付いたんですけど、ip-upって無線LAN接続時には実行されないんですね。ってのも解決できそうだし。
- 2003-10-22 (Wed) 12:29:24 塚本牧生 : それはとても便利です。そろそろ天気予報が手離れ、Apache+mod_perlはあのありさまなので(-_-;、気合の入っているとき以外はYahooニュースに手を出し始めていたり。またこの苦労をするのかなあ、とちょっと鬱になりながらやってました。
- 2003-10-22 (Wed) 12:45:34 塚本牧生 : えーと、余談になりますけど、似たようなことを私も昨晩考えました。でもスキルがないので、ip-upからatdコマンドを叩いて、でもそれだとユーザーその他はどうなるんだ、とか怪しげにぶつぶつつぶやいているうちに、わけがわからなくなって寝てしまいました。(^_^;
- 2003-10-23 (Thu) 00:21:08 yakty : どうやらアプレットはroot権限で動いているらしい…(^_^; 今まで知らなかったぞ…(汗) ってことはKeyHelperからのプログラム起動もroot権限で動いてたのか…
- 2003-10-29 (Wed) 23:43:35 yakty : こんなんでどうでしょうか?
- 2003-11-03 (Mon) 13:06:55 塚本牧生 : 遅くなりましたが、NetHelperAppletでの取得自動化まで確認でき、weatherも正式に0.2.0版(なぜ正式で0.x.x系だ(^_^;)を出せました。時刻合せもこっちに移行すべきだな、きっと。
- 2003-12-17 (Wed) 20:41:39 hagiwara? : datebook や todo のデータと emacs の diary 形式のデータでやり取りするために、zdbat 使わせてもらってます。で、データの作成日、更新日も取れると良いので、読み出し時には CTTM, MDTM フィールドも出力してもらえると良いかなと思います。
- 2004-01-20 (Tue) 21:28:04 塚本牧生 : メールのインポートの志向を繰り返して、ようやく実用になるところまで各フィールドの使い方が分かってきました。ちょっとMailの項に追加。
- 2004-01-21 (Wed) 07:11:18 塚本牧生 : メール、新規にインポートしたりすると、サーバーからの未読管理がおかしくなるみたいで、次の受信時に過去に受信したはずのものも含めて全件受信してしまうみたいです。ちょっと困り中。
- 2004-01-21 (Wed) 09:08:40 yakty : うーむ…、普通に使っててもたまに全件受信になっちゃう時がある気がするんで難しそうですねぇ。どういう仕組みで実装してるんだろう?
- 2004-01-21 (Wed) 14:47:08 塚本牧生 : 普段の使用では、メールの受信を中断させた後の受信ではかなりの確度で起きてる気がします。zdbatは、今2種類スクリプトをいじっていて一方は追加、一方は削除系なのですが、タイミングからするともしかしたら削除後に起きているかもしれません。あまり追求する余裕がなくて、ちょっと未確認です。既存メールの更新では問題なし。
- 2004-01-25 (Sun) 17:26:51 one? : どなたか、memoのカテゴリーのセットに成功された方いますか?追加時にCATEGORYをセットして、読み出すとカテゴリーだけ入っていないのですが、、、
- 2004-01-26 (Mon) 10:42:35 one? : 上記memoのカテゴリーの件ですが、使用しているのは0.2.5、追加時に表示される変更前・変更後のうち変更前にはカテゴリーの文字列がありますが、変更後にはなくなっています。
- 2004-01-26 (Mon) 20:25:05 yakty : 設定していようとしているカテゴリーはあらかじめ作ってありますか?(TODO等でかな?) zdbatではカテゴリーの作成を行わないので、セットしようとするカテゴリーが無い場合にはカテゴリーをセットしません。オプション指定で作成できるようにした方がいいですかね?
- 2004-01-26 (Mon) 22:17:59 one? : なるほど、そういうことですか。できれば、作成できるようにしていただけると助かります。なにせ、Rubyだと他に作成する手段が無いので。(私が知らないだけかもしれませんが)
- 2004-01-27 (Tue) 23:53:48 yakty : オプション-gを付けることでカテゴリーの自動追加を行えるようにしました。(@0.2.6)
- 2004-01-27 (Tue) 23:59:32 yakty : >hagiwaraさん。遅くなってしまいましたが、CTTM,MDTMというフィールド名をAPIで取得できないようなので、zdbatでは取得は行わないものとします。
- 2004-01-28 (Wed) 20:39:17 one? : ありがとうございます。早速使わせていただきます。
- 2004-01-29 (Thu) 19:35:20 one? : カテゴリーの自動追加できました。ありがとうございました。
- 2004-02-14 (Sat) 22:35:46 hagiwara? : CARDID, CATEGORY, CTTM, MDTM が全てのカードに共通のフィールドのようですので、ZdbManager.cpp の ZdbManager::outputData() の header.append(..) のところに追加してみるとうまく取得できるようです。たぶん作成時間と修正時間ですからデータ追加や修正の時には無視しないとダメだと思いますが、データの同期とか考えると欲しい情報なんですがどうでしょう?
- 2004-02-15 (Sun) 00:26:07 yakty : CTTM,MDTMはどこにもドキュメントが無い&APIでフィールド名を取得できないので、ソース埋め込みで取得するのは嫌だったのですが、良い方法を思いついたので実装してみました。コマンドラインオプションで -s "CTTM,MDTM" を指定すると取得できると思います。
- 2004-02-15 (Sun) 02:08:38 yakty : 連続リリースしてしまってすいません。-i オプションの情報表示でCTTM,MDTM等の情報も表示できた方が良いと思ったので表示できるようにしました。
- 2004-02-19 (Thu) 17:51:27 hagiwara? : -s, -i の両オプション使ってみました。いい感じです。ありがとうございました。その昔 http://community.zaurus.com/projects/dtm/ から SL-5x00 の PIM Database Parameters の表とか入手できたんですけど、サイトごと無くなっちゃったみたいですね。
- 2004-02-19 (Thu) 21:27:53 yakty : なぜかコメントを消してしまわれたようですが、"時"部分も"分"で計算してしまっていたため、オフセットがおかしくなっていました。ご報告ありがとうございました。さらに-のオフセットの場合は時間部分が全て無視されてしまうという問題も有ったので修正しました。
- 2004-03-13 (Sat) 10:42:14 Cohe? : はじめまして。C700+Special Kernel v14+QualendarC7x0用BOX 版(置き換え)でweather関係最新バージョンですが、weatherの天気予報を更新するとQualendarのイベント表示(開始・終了・件名・場所)に書き込んだ予定が消去され、新たに読み込んだ天気予報がイベント表示に予定として出てきてしまいます(天気の欄と重複して予定欄にも天気が表示される)。これは辛いです・・・どうしたら直りますでしょうか?
- 2004-03-13 (Sat) 11:18:59 yakty : zdbatはBOXファイルへの入出力機能を提供しているだけなので、アプリケーション側(この場合はweather)から指示された通りに入出力を行うだけです。なのでよく分かりません…すみません。zdbatでBOXファイルの中身を調べてみて、実際にその予定のデータが消えていることが確認出来たらweatherの作者さん、実際にはデータは消えていないが表示されていないだけであればQualenderの作者さん(こちらの場合もweatherが不正なデータを書き込んでいる可能性もあるのでweather側の問題の可能性もありますが…)に相談してみるのが良いかと思われます。まずは、Qualender側の問題かどうかを切り分けるために、標準のdatebookに戻して確認されてみてはいかがでしょうか?最終的にweather側で意図したように入出力が出来ていないのであればzdbat側の問題も考えられます。
- 2004-03-13 (Sat) 21:42:53 Cohe? : yakty様、有難うございます。これは私の使い方の問題だったと思われます。天気予報が登録される予定欄に実際の行動予定を入力すると天気予報の更新でその行動予定は消えて天気予報になってしまいます。そこで新規の行動予定を登録すると、天気予報に使用された予定欄とは別になりますので、問題がなくなります。データの読み込みに何かあるのかと早合点しましたが、使い方がこれで正しければ運用上問題ないかと・・・。失礼致しました。
- 2004-11-14 (Sun) 19:29:13 Pump? : 初めまして。SL-C3000に移行しているところですが、データベースの書き込みで、"SlZDataManager::startEditCard(n)" "QCopChannel: Must construct a QApplication before QCopChannel" "Aborted" というエラーが起きます。weatherが落ちるので気づいたのですが、datebookに限らず、zdbat memo -w でも同様のエラーになります。zdbatは 0.2.9です。SL-C760では問題ありませんでした。アドバイスいただけると助かります。
- 2004-11-14 (Sun) 21:46:30 yakty : むぅ…その辺の実装も変わったんですねぇ…。QApplicationsの初期化が必要になったんだと思うんで、これ(zdbat_0.3.0-1_arm.ipk)でどうでしょうか。
- 2004-11-14 (Sun) 22:48:49 Pump? : 早速対応いただき、有り難うございます。0.3.0で、無事weather (datebook -w) が動作しました(6〜7回繰り返しましたがいずれも正常動作しました)。ところが一方、zdbat memo -w を実行すると、"failed locking F0:SLMEMO.BOX for writing." "could not open box F0:SLMEMO.BOX" のエラーになります。続けて zdbat memo -w を再実行すると成功し、更に再実行するとまたエラーが起きます(エラーと成功を交互に繰り返します)。
- 2004-11-14 (Sun) 23:08:33 yakty : メモ帳を高速起動とかしてませんか?エラーと成功が交互になる理由はわかりませんが、高速起動だとエラーになりそうな気がします。
- 2004-11-14 (Sun) 23:26:16 Pump? : メモ帳の高速起動をoffしたら、エラーが出なくなりました。どうも有り難うございました。
- 2004-11-14 (Sun) 23:39:38 yakty : もう大分実装も固まったと思うので、勢いで1.0.0にしてしまいました(笑)
- 2005-03-21 (Mon) 21:52:46 jojo3? : はじめまして。zdbat便利に使わせて頂いております。一つ要望なのですが、メールデータを扱う際に、-bオプションでCFを指定しようとしてもできません。どうやら、SlZDataBase::mailOutboxFileName,SlZDataBase::mailInboxFileNameの引数が整数の値をとるのですが、ロジックではtrueが指定されてsd cardにしかアクセスできないことが原因と思っています。対応をお願いいただけたらと思います。
- 2005-03-21 (Mon) 22:34:32 yakty : どうもです。メール関連は引数がintなんですね…。完全に見落としてました。というわけで、コマンドラインオプション-eを実装し、Ver1.0.1をリリースしました。
- 2005-03-21 (Mon) 23:00:56 jojo3? : おお!素早い対応ありがとうございます。ますます便利になりました。
- 2005-08-09 (Tue) 21:54:54 ミラー(鏡君)? : SLDATE.BOXが異常な状態におちて、TDXが作成されなくなった。IDXを作る方法とは??
[[#comment]]