2019年8月23日金曜日

khal のデータファイルを org に変換してみた

日頃、作業とかポタリングとかのスケジュール管理に、 khal(GitHub) を使っている。

データは手元のパソコンに保存されていて、 45分毎に、ラズパイで稼動させている DAViCal (CalDAV servers) と Google との三者を vdirsyncer で同期させている。

予定管理自体を、emacs で行うことは諦めていたのだが、 今更だが、 khal の一覧機能が不満なので、 emacsで管理するのではなく単に一覧を表示する だけなら、 出来るかもと考えた次第。

結果はこんな感じ。自転車とゴミ出しだけだが。

最近はこうなってる(201911)。

python のスクリプトを、 emacs から起動して、 以下の関数を用意して、 `<f2>-K` で 出来上がったファイルを read only で og-agenda-list を開くようにしてみた。

(defun my-khal2org ()
  "Convert khal ics file to org file."
  (interactive)
  (let* ((exepath (expand-file-name "~/Documents/proj/icaltools")))
    (shell-command-to-string (concat "cd " exepath "; python khal2org.py"))
    ;; (find-file-read-only-other-window (expand-file-name "~/Documents/ownCloud/khal.org"))
    (org-agenda-list) ;; org-agenda を起動するようにした(201911)
  ))

pythonのスクリプトは、 icalendar(GitHub) というライブラリを使ったのだが、 いつもの様に、このドキュメントだけでは私には無理なので、 ical2org-two(GitHub) のソースを参考に、 粛々とコピペ修正作業。

まあ、無くても良いが、有ってもよいかな、というレベルか。 カテゴリや期間をemacsから指定できるようにしてみたいが、道は遠そうだ。

0 件のコメント:

コメントを投稿

Emacs の lsp の設定、なう(202310)

前回さらしてから、さらに1年。そう、3年めになる。 が、今回は一段と自信がない。 環境は、 Debian GNU/Linux 12 (bookworm) + emacs(29.1)。consult + company。 embark は未だに使ってない。 用途は、メモ と ...