Things2THL 0.8.4 zzamboni.github.com/things2thl/

Conversion program to transfer data from Things (culturedcode.com/things/ ) to The Hit List (www.potionfactory.com/thehitlist/ ).

Written by Diego Zamboni <[email protected]>

INSTALLATION:


You need Things 1.1.1 or later, since things2thl requires Applescript support.

Then install things2thl by running:

$ sudo gem install zzamboni-things2thl --source http://gems.github.com/

Note: things2thl need the rb-appscript (appscript.sourceforge.net/rb-appscript/) and hpricot (wiki.github.com/why/hpricot) . If you don’t have them already, they will be automatically installed by gem.

USAGE:


Usage: things2thl <mode of operation> [options]

Modes of operation (required):

-L, --projects-as-lists          Convert projects in Things to lists in THL
-T, --projects-as-tasks          Convert projects in Things to tasks in THL
-B, --projects-areas-as-tasks    Convert both projects and areas in Things
                                   to lists in THL. This implies that
                                   projects are not nested inside areas.
-I, --inbox                      Transfer only Inbox tasks.

Options:

    --[no-]areas                 Transfer areas from Things (default: yes)
    --areas-as-tags              Transfer areas as tags in THL.
    --areas-as-contexts          Transfer areas as contexts in THL.
    --[no-]time-tags             Consider tags of the form Xmin/Xsec/Xhr as
                                   time estimates, set them in THL
                                   accordingly (default: no).
    --[no-]context-tags [REGEX]  Regular expression to identify tags that
                                   should be interpreted as contexts.
                                   (default: ^@).
                                   Use with no- to disable this feature.
    --sync                       Only transfer new items (default: no)
    --top-level-folder FOLDER    Do the import inside the named folders,
                                   instead of the top level
                                   (Inbox, etc. will also be created there
                                   instead of their corresponding places)
    --projects-top-level FOLDER  The named folder will be created to
                                   contain all projects when
                                   --projects-as-lists is used (otherwise
                                   they will be in the top folders group).
                                   If --projects-as-tasks is used, a
                                   'Projects' list is always created, but
                                   this option can be used to specify
                                   its name.
    --areas-top-level FOLDER     The named folder will be created to
                                   contain all areas.
-c, --completed                  Transfer also completed/canceled tasks
                                   and projects (default: no)
    --[no-]archive-completed     If transferring completed/canceled tasks,
                                   also mark them as archived (default: yes)
-q, --quiet                      Do not print items as they are processed.
                                 Twice: do not print stats at the end.
-h, --help                       Shows this help message
-v, --version                    Shows version

Options you should seldom need:

--things THINGSAPP           Location of the Things application
                               (default: /Applications/Things.app)
--thl THLAPP                 Location of the The Hit List application
                               (default: /Applications/The Hit List.app)

Functionality still missing:


  • Handling delegation (“People” feature in Things)

    Not sure how to transfer this to THL. Ideas are welcome.

Known issues:


  • Cancellation/completion dates are not transferred, because THL handles those attributes as read-only. So if you choose to transfer completed/canceled tasks, they will all appear in your “completed today” view.

  • One-time tasks in the Things “Scheduled” focus are transferred, but repeating tasks are not. The Things Applescript interface does not provide access to repeating tasks.

  • The format of time estimate tags is fixed for the moment. May add customization if I get any requests for it.