Man Linux: Main Page and Category List

NAME

       tdl_export.byte - Filter and merge xml TODO list.

SYNOPSIS

       [--rss] [--tdl] [--filter s] [--split-by-day n] [[-help] | [--help]]
        [file...]

DESCRIPTION

       This manual page documents briefly the tdl_export.byte command.

       This manual page was written for the Debian GNU/Linux distribution
       because the original program does not have a manual page.

       The tdl_export.byte tool can be used to merge of filter TODO lists. The
       result is a new TODO list, or a XML document in RSS format built using
       the dates of items of the final TODO list.

       --rss
           Output RSS.

       --tdl
           Output a new TODO list (default, use to merge TODO lists).

       --filter s
           Apply the given filter on read groups.

       --split-by-day prefix
           Split todo list(s) to create one separate todo list by day, in
           files named prefix->year<->month<->day<.tdl.

       file
           Files to convert. The file "-" stand for the standard input.

       -help, --help
           Display an help message.

EXAMPLES

       Merging the TODO lists of files f1.tdl, f2.tdl and f3.tdl. The result
       (the final TODO list) is printed on standard output.

                 tdl_export.byte f1.tdl f2.tdl f3.tdl

       The same result can be obtained with the following command, since "-"
       as filename indicates to read a TODO list on standard input:

                 cat f2.tdl | tdl_export.byte f1.tdl - f3.tdl

       A filter can be given in parameter. This filter is applied on each read
       TODO list and allows to select only some groups or items matching the
       filter. The syntax of filters in given further. In the command below,
       we only keep items in "done" state and non empty groups:

                 tdl_export.byte f1.tdl f2.tdl f3.tdl --filter 'not empty and state: done'

       It is also possible to generate a XML document in RSS format instead of
       a new TODO list, for example to indicate the completed tasks (with
       "done" state), as in the following command:

                 tdl_export.byte f1.tdl f2.tdl f3.tdl --filter "state: done" --rss > output.rss

       At last, one can split the final TODO list in various TODO lists, one
       per day, by using the end date of each item. The prefix of generated
       files is given in parameter to the --split-by-day option. The generated
       files are named prefix->year<->month<->day<.tdl:

                 tdl_export.byte f1.tdl f2.tdl f3.tdl --filter "state: done" --split-by-day /tmp/things-done

FILTERS

       A small language allows to define filters on TODO lists, that is
       conditions on groups and items to select them. Here is a description of
       this language in BNF-style: [1]FILTER::=
                   | group: REGEXP
                   | item: REGEXP
                   | empty
                   | state: STATE
                   | desc: REGEXP
                   | before DATETIME
                   | FILTER
                     and
                     FILTER
                   | FILTER
                     or
                     FILTER
                   | not FILTER
                   | ( FILTER )
                  [2]STATE::=
                   | done
                   | suspended
                   | high
                   | normal
                   | low
                  [3]REGEXP::=
                   | quoted_string
                   | [^'\n' '"' '(' ')' ' ' '\009' '\012' ':' '/' '<' '>']+
                  [4]DATETIME::=
                   | [0-9]+-[0-9]+-[0-9]+
                   | [0-9]+-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+
                  .PP The REGEXP is a regular expression as the ones of the
       Str module of Objective-Caml.

       DATETIME can be for example "2007-08-08" or "2007-08-08 23:12:07". If
       no time is give, then hour, minute and second are considered to be 0.

       As you can see, filters on groups and items are indicated together in
       one expression. This is just to simplify the expression of filters.
       When a filer is applied on a TODO list, this filter is first splitted
       in two: one filter for groups and another filter for items, since some
       filters are invalid for items (like "empty") and some are invalid for
       groups (like "state:"). For example the filter "state: done and not
       empty" will give two filters: "state: done" for items and "not empty"
       for groups.

LICENSE

       This manual page was written by Sylvain Le Gall gildor@debian.org for
       the Debian GNU/Linux system (but may be used by others). Permission is
       granted to copy, distribute and/or modify this document under the terms
       of the GNU Lesser General Public License, Version 2.1 or any later
       version published by the Free Software Foundation; considering as
       source code all the file that enable the production of this manpage.

AUTHOR

       Sylvain Le Gall <gildor@debian.org>
           Author.

COPYRIGHT

       Copyright © 2005, 2006 Sylvain Le Gall

                                 Nov 12, 2006