アーカイブ

Archive for 2011年1月

ScanSnap付属のCardMinderに読み込んだ名刺をEvernoteに流し込む

2011年1月23日 3件のコメント

別にCardMinderが使い難いという事は無いのですが、今時モバイルで参照できないのはどうかと思ったので、Evernoteに流し込んで名刺用のタグでも打つ事にしました。
~/Documentsにファイルを作っている気配が無いので、~/Library/を探してみた所~/Library/Application Support/CardMinder/CardMinder DB.cmdbを見つけました。
これはバンドルで、中にCardMinder.sqldbとImagesディレクトリがあり、Imagesディレクトリの中には名刺のPDFファイルが沢山入っています。
PDFは1ファイルで裏表を収容しているのですが、ファイル名がUUIDあり、このままだと検索が面倒です。
そこでCardMinder.sqldbの方をsqlite3で開いてみた所、中に氏名などのデータが収まっていました。
とりあえず、スクリプトで氏名を抜いてPDFのファイル名にしてやり、最後に手動でEvernoteに流し込む事にしました。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import datetime
import shutil
import sqlite3

source_directory = os.environ["HOME"] + "/Library/Application Support/CardMinder/CardMinder DB.cmdb/Images/"
destination_directory = os.environ["HOME"] + "/Desktop/CardMinderToEvernote/"

connection = sqlite3.connect(os.environ["HOME"] + "/Library/Application Support/CardMinder/CardMinder DB.cmdb/CardMinder.sqldb")
cursor = connection.execute("select ZFULL_NAME, ZFACE_IMAGE_FILE, ZREGISTER_DATE from ZCARD")
for row in cursor:
	print row[0], row[1], row[2]
	shutil.copyfile(source_directory + row[1], destination_directory + row[0] + ".pdf")
connection.close

デスクトップには、あらかじめCardMinderという名前でフォルダを作っておきます。
スクリプトが完了すると、氏名がファイル名になったPDFがフォルダ内にコピーされるので、これをEvernoteにドロップすれば完了です。

後日、差分追加する時がくると思います。
その時は登録日時で抽出するようにSQLを書き換える必要があるんですが、タイムスタンプらしい日付のデータフォーマットに見当が付かなくて、保留しています。
小数値なので、てっきりunixtimeだと思ったんですが……

広告
カテゴリー:デスクトップ, 開発 タグ: