エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

Evernote Food のサポートが終了するので…

Evernote Food のサポートの終了が決まりました。

不満な点はあるにはあったもののこの 2 年半ほど使い続けていたので、少々残念に感じているところ。

代替手段を探していたのですが、日時場所と食事の画像が簡単に記録できればよいかと思い直し、FastEver Snap での記録に切り替えました。


日時が記録できればよいかー…と思っていたんですが、食事の種類 − 朝食、昼食、夕食 − で記録されていることに慣れてしまっていたようです。


と、いうわけで。
FastEver Snap で記録された時刻を元に、Evernote のノートのタイトルに食事の種類を追加するスクリプトを書いてみました。

Evernote の操作については以前書いた記事を参照してください。


var datetime_pattern = /^(\d{4})\/(\d{2})\/(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(.*)/;

var to_meal = function(hour) {
  hour = Number(hour);
  if(hour < 4) {
    return '夜食';
  } else if(hour < 9) {
    return '朝食';
  } else if(hour < 11) {
    return '間食';
  } else if(hour < 15) {
    return '昼食';
  } else if(hour < 18) {
    return '間食';
  } else if(hour < 22) {
    return '夕食';
  } else {
    return '夜食'
  }
};

var evernote = Application('Evernote');
var notes = evernote.findNotes('tag:food');

for(var i in notes) {
  var title = notes[i].title();
  if(match = title.match(datetime_pattern)) {
    title = match[1] + '年' + match[2] + '月' + match[3] + '日 ' +
            match[4] + ':' + match[5] + ':' + match[6] + ' ' + to_meal(match[4])
    console.log(title);
    notes[i].title = title;
  }
}


スクリプトを実行すると、タグに「food」が付いてタイトルの形式が「2015/09/01 12:34:56」のノートを検索して、タイトルを「2015年09月01日 12:34:56 昼食」のように書き換えてます。


同じ要領で notes[i].longitude(), notes[i].latitude() を使えば位置情報を取得できるので、住所を設定することもできると思います。


いつか読むはずっと読まない:伝説のSFコミック

前回書いたように、「パラダイスバード」が15年ぶりの新刊だったそうですが、全二作品が合本で復刻されました、つい先日。

楽園通信社綺談 ビブリオテーク・リヴ

楽園通信社綺談 ビブリオテーク・リヴ