Quantcast
Channel: Marc Abramowitz » OmniFocus
Viewing all articles
Browse latest Browse all 8

Accessing OmniFocus data as a sqlite database

$
0
0

While playing with some OmniFocus AppleScripts last night, I realized that OmniFocus on the Mac uses a sqlite database (in addition to the zipped .xml files that it uses for synching). This is pretty interesting, because it could be a very convenient way to write tools that interact with OmniFocus (and use something like Python instead of AppleScript).

$ sqlite3 ~/Library/Caches/com.omnigroup.OmniFocus/OmniFocusDatabase2
SQLite version 3.7.3
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .mode column                                                                                                                         
sqlite> .headers on
sqlite> SELECT task.name AS task, context.name AS context
   ...> FROM task JOIN context ON task.context = context.persistentIdentifier
   ...> WHERE context.name LIKE '%email%' AND task.dateCompleted IS NULL;
task                                           context   
---------------------------------------------  ----------
Send Amanda new color photo via Cloud website  Email

Pretty cool. With a little Python and SQLAlchemy, I could probably create a nice little Python module for dealing with OmniFocus data.


Viewing all articles
Browse latest Browse all 8

Trending Articles