ジャムスタ

just another mind Style

今日の振り返り/Evernoteの同期は続く、疑似コマンドラインによるサモンプロジェクト

EvernoteのAppStore版から、ダウンロード版に切り替えたのだが、フォルダの構造があまりにも変わってしまっていて驚いた。一部のAppleScriptが完全に動かない。

この辺りの話はまた別に書くが、さすがに都合が悪いので、途中まで進んでいた同期作業をもったなくも感じながら、ダウンロード版を消して、もう一度Appstore版をダウンロード。

で、フォルダ構造を見てみたら、変わっていない。どうやら新しいバージョンはこの構造になっているようだ。

やっかいなのは、アカウントのフォルダ名がなぜかアカウント名ではなく数字になっているところ。つまり、これまでなら「rashita」というフォルダがあり、その下にノートのデータが保存されていたのだが、現在のバージョンでは「131313」みたいなフォルダになっている。でもって、その数字をアカウント情報から取得できない。

ということは、Applescriptからアクセスできない。

もう一つ、ノートの情報を保存しているフォルダ名が、これまでは「p123432」みたいな名前だったのに、長いハッシュ値になっている。で、noteの情報からは、そのハッシュ値が取得できない。別のcoredataというフォルダに保存されているデータにならアクセスできるのだが、そこにはhtmlの情報はない(あるいは私が見つけられていない)。

その代わり、これまでcontent.htmlというファイルで提供されていたノートのHTMLデータが、note.xhtmlに代わり、余計なタグが無くなっている。

余計なタグとは、HTMLとかBODYとか、そういうやつだ。note.xhtmlに入っているのはノートの中身だけになっている。つまり、html content of note で取り出せるのが、bodyの中身だけになった、ということだ。これまでは、HTMLやらHEADやらBODYタグを削除して使っていたので、その点は楽になった。
※ENMLは変わらず、全体を含んでいる。

これまでは直接htmlを取得して、そこに文字列の処理を加えていたが、今後はhtml content of note をいじる方向でスクリプトを修正することになるだろう。

前に比べて正規表現の知識が1mmぐらいは増えたので、なんとか自分で書ける、気がする。

疑似コマンドライン

YukiTaskを眺めていて、思いついたアプリのプロトタイプを作ってみた。

f:id:Rashita:20141124194238p:plain

アプリを立ち上げるとダイアログが表示される。

で、登録したプロジェクト名を打ち込んで、リターン。

f:id:Rashita:20141124194224p:plain

対応した(これもあらかじめ登録してある)プロジェクトのフォルダが開く。そして、さらなる命令入力を待つダイアログが表示される。

endとコマンドを打ち込めば、スクリプトは終了。

これを拡張していけば、同じコマンドでも、プロジェクトごとに違う動作が実現可能になる。

あと、スクリプトを経由させることで、プロジェクトの実行ログを自動的に残すこともできる。

完成の道のりは遠いが、楽しい感じにはなっている。

次のステップは、プロジェクトに移動したとき、タスクを表示させる機能だ。