駄開発駄メモ 駄開発に関することを。

2011年12月27日

EdMimeDecode-0.001a

Filed under: プログラム — タグ: , , , , — m.takemi @ 12:28 AM
バグ修正。
  • Qエンコードなデータをデコードするときたまに落ちる(元データとエンコード後データが同じ場合落ちる)
  • 改行が増えていく。
  • 不明な文字コードのデータをSJISとして扱ってしまっていたのを修正。

EdMimeDecode.zip

(EdMimeDecode.zip.md5)

2011年12月24日

EdMimeDecode-0.001

Filed under: プログラム — タグ: , , , , , , , — m.takemi @ 6:19 AM

UTF-8 かつ (B|Q)エンコードなヘッダをEdMax(Free版のみ?)がデコードしてくれないので、それらをデコードするプラグインを作ってみました。

EdMimeDecode-0.001.zip

(EdMimeDecode-0.001.zip.md5)

edmimedecode_1

     ↓

edmimedecode_2

※このプラグインは、メールを開いたタイミングで、メールデータを変換します。このプラグインがバグった場合、下手するとメールデータを壊す可能性があります。が、その場合でも責任は負えません。謝罪はしますが。。

不安な方は使用しないでください。m(__)m

  • ヘッダ(題名とか送信元とか)に=?UTF-8?B?5ryi5a2X?= みたいな文字列があると、メールを開いたタイミングで、それらをデコードする。

    本当はメールを受信すると同時にデコードしたいけど、プラグイン側で受信するタイミングを知る方法が分からなかったので、メールを開いたタイミング。
  • ついでに、本文の改行がたまに異常になる場合(LFのみの場合?CRのみの場合?)があるので、CRLFに変換する。

↑だけしかやらないから、もっと局所的なプラグイン名にすべきだと思うけど思いつかず。。。orz

2011年5月30日

BkSearchでGoogle検索した後、続けて検索すると文字化けする

Filed under: プログラム — タグ: , , , , — m.takemi @ 9:27 PM

BkSearch と Googleデスクトップ検索の連携」に引き続き指摘頂いた。

BkSearch.conf(EdSearch.conf)のデフォルト設定だと、
以下のように

[Google 日本 で検索(&G)]
FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&oe=sjis&q=
Encode=UTF8

・ie=UTF-8
・oe=sjis
になっています。

この設定で検索した場合、初回は正常に表示されますが、
続けて検索ボタンを押した場合、URLは以下のようになってしまった。

http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&oe=sjis&q=%E6%A4%9C%E7%B4%A2#num=50&hl=ja&lr=lang_ja&ie=Shift_JIS&oe=Shift_JIS&tbs=lr:lang_1ja&q=%E6%A4%9C%E7%B4%A2&aq=f&aqi=&aql=&oq=%E6%A4%9C%E7%B4%A2&・・・

・ie=UTF-8
・oe=sjis
・ie=Shift_JIS
・oe=Shift_JIS

でもって、文字化けする。

なぜ???

2byte文字を含む場合のみ文字化けするので、
2回目の検索の時は、ie=UTF-8が機能していないっぽい。
まぁ、ieが2つ指定されてるから当然か。。

「&oe=sjis」を削除して、以下のようにすると正常に動作するようになりました。

[Google 日本 で検索(&G)]
FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=UTF-8&q=
Encode=UTF8

2011年5月29日

BkSearch と Googleデスクトップ検索の連携

Filed under: プログラム — タグ: , , , , — m.takemi @ 6:51 PM

について、質問メールを頂いたので調べてみました。

Googleデスクトップ検索で”test”を検索してみたところ、
以下のようなURLになったので、

http://127.0.0.1:4664/search?q=test&flags=68&num=10&s=ZoDBIB5DxUVUQh9oa5fpdKn6zVA

“test” → “テスト” に変えて見たところ、

http://127.0.0.1:4664/search?q=テスト&flags=68&num=10&s=ZoDBIB5DxUVUQh9oa5fpdKn6zVA

「無効なリクエスト」と言われてしまう。

URLを直接変更するのではなく、Googleデスクトップ検索で”テスト”を検索すると、
以下のURL。

http://127.0.0.1:4664/search?q=%E3%83%86%E3%82%B9%E3%83%88&flags=68&num=10&s=MqeS2Ad2-EPMUhVeranCUF-Lp1I

“test”と”テスト”で検索したURLを並べてみる。

http://127.0.0.1:4664/search?q=test&flags=68&num=10&s=ZoDBIB5DxUVUQh9oa5fpdKn6zVA
http://127.0.0.1:4664/search?q=%E3%83%86%E3%82%B9%E3%83%88&flags=68&num=10&s=MqeS2Ad2-EPMUhVeranCUF-Lp1I

検索文字列が違ってるのは当然だけど、s=に続く文字列も異なっていた。
“ZoDBIB5DxUVUQh9oa5fpdKn6zVA”
“MqeS2Ad2-EPMUhVeranCUF-Lp1I”

これが何者かを調べたところ、
Query API Developer Guide – Google Desktop APIs – Google Code
によると、「security token」というものらしい。

検索文字列によって変わるってことは、外部から使えない??とか思ってたら、すぐ下の方に

Getting the Stored Query URL – Query API Developer Guide – Google Desktop APIs – Google Code
ってあった。

Stored Query というものがよく分からなかったけど、ストアドプロシージャとか、ストアドファンクションのような類であれば使えそうなので、書いてある通り、
レジストリ”HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url”
に設定されているURL(自分の環境では、”http://127.0.0.1:4664/search&s=x24RLVrkvjGLijzu8wE1zMrW9As?q=”)をコピーして使ってみたところ上手くいった。

BkSearch.conf(EdSearch.confでも同じ)に書くと、

[Googleデスクトップ検索(&T)]
FrontURL=http://127.0.0.1:4664/search&s=x24RLVrkvjGLijzu8wE1zMrW9As?q=
Encode=UTF8

num=50とか加えておけば、検索数が50件になる模様。

[Googleデスクトップ検索(&T)]
FrontURL=http://127.0.0.1:4664/search&s=x24RLVrkvjGLijzu8wE1zMrW9As?num=50&q=
Encode=UTF8

この方法が未来永劫使えるのかは分からないけど、一先ずこれで行けそう。

2011年2月2日

mbm(Multi BitMap)ファイル用のSusie Plug-inを作ってみた

Filed under: プログラム — タグ: , , , , , — m.takemi @ 8:50 PM

作ろうと思ったのは数年前だけど。。すごく今更だな。。

Susie
窓の杜 – Susie for Win32

ifmbm.zip(ifmbm.zip.sig publickey)

S60_3rd_MR\Epoc32\Data\z\resource\apps\avkon2.mbm
をSusieで開くと↓こんな。

20110202_200516_1

mbmファイルのフォーマットは、「The MBM file format | NewLC」にあるけど、面倒くさかったから、「PDK\3.0.h\sf\mw\platformtools\gfxconversion\bmconv_s60」を流用させて頂いた。ライセンスはEPL(Eclipse Public License – Version 1.0, 日本語訳)。ソースは、ifmbm_src.zip(ifmbm_src.zip.sig publickey)

なお、動作確認は「Susie Ver0.50 beta2」で実施しました。

制限

  • 対応ファイルかどうかは拡張子で判定してる。
  • メモリ入力には未対応(対応方法が分からず。。)

参考サイト

2010年4月27日

BkSearchを使って頂いている方から、

Filed under: プログラム — タグ: , , — m.takemi @ 1:55 AM

「BkSearchをインストールしようとしたけど、BkSearch.txtに書いてある、BkSearch.confが見つからないよ~」と、ご指摘いただきました。

どのバージョンからか忘れましたが、間違ってBkSearch.confを上書きしてしまうことを避けるため、同梱しなくなりました。(EdSearchも同様)
同じフォルダに、BkSearch.confが無ければ、デフォルト設定のBkSearch.confを自動で生成します。悪しからず。

BkSearch.txtの説明はそのうち直します。m(_ _)m

2009年8月9日

EdMaxの用のHyperEstraierプラグイン

Filed under: プログラム — タグ: , , , , — m.takemi @ 4:37 PM

大量のメールを何度も何度も検索してたら余りにも遅くて苛ついたので、かなり前に便利だろうなぁと呟いていたプラグインを再度考えてみて、以下の仕様で作ってみたた。

  • インデックスの登録/削除だけEdMaxのサブメニューから(手動)。
    • インデックスの対象はメールだけ。添付ファイルは対象外。
  • 検索はestseek.fcgi任せ。
    • EdMaxから検索可能にするのは、そのうち。
  • 最適化、キーワード抽出とかもestcmd任せ。
  • ブラウザ → EdMaxの連携は、
    • 独自スキーム「edhe」を作る。
    • 「edhe:~」のリンクを選択するとEdMaxを起動して、対象のメールを表示する。
    • EdMaxが起動済みなら、前面に持ってきて、対象のメールを表示する。

・・・こんなクソ仕様だと自分しか使わなそう。自分用には十分だけど。
ま、いいや。

一応、インストール方法

  1. 全文検索システム Hyper EstraierからWindows版のバイナリパッケージを持ってきて、適当なディレクトリに展開して、そのディレクトリをPATHに設定する。
  2. EdHyperEstraier-test.lzhを持ってきて、EdMaxのPlugins配下に展開する。
    中身は

    • EdHyperEstraier.dll EdHyperEstraier本体
    • EdHyperEstraier.conf インデックスデータの格納先を設定する
    • EdSelectMail.dll 「edhe:~」のリンクとEdMaxの連携用
    • EdSelectMail.conf ↑のDLL用の設定ファイル
    • EdSelectMail.exe 「edhe:~」のリンクとEdMaxの連携用
    • reg_edhe.js 「edhe:」なURIをIEで使えるようにするスクリプト
  3. EdMaxを起動して、インデックス化したいフォルダを選択 → 右クリック → EdHyperEstraierで、「インデックス化 – 選択フォルダ」or「インデックス化 – サブフォルダも」を選択(※ 1の手順が出来てなければ、EdHyperEstraierのサブメニューは出ません)
  4. インデックスデータが、Plugins配下のcascketに出来るので、その場所をestseek.confのindexnameに指定する。
  5. estseek.cgiを動かす。動かし方は、Introduction of Hyper Estraier Version 1 (Japanese)辺りを参照。
  6. estseek.cgiが動くようになったら、reg_edhe.jsを叩いて、「edhe:~」なリンクを有効にする。

なんかイマイチだ。。

2009年3月15日

edwheel(改)

Filed under: プログラム — タグ: , , — m.takemi @ 6:40 PM

最近になってようやく、EdMaxのタブ機能を活用し始めたけど、
タブの切り替えが面倒。ってことで、

  • 右クリック + Wheel上下でタブリストを出す
  • Ctrl + Wheelで、差出人が同じ次 or 前のメールへジャンプ (これはついで。)

という機能を、NYSLedwheelに追加してみた。

edwheel.lzh
(edwheel.md5, edwheel.lzh.sig, publickey)

タブリストは、↓こんな。

  

Powered by WordPress