65.9K
CodeProject is changing. Read more.
Home

TDL File Merge Utility for .dan.g.'s ToDoList

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.42/5 (7 votes)

Apr 9, 2009

CC (ASA 2.5)

1 min read

viewsIcon

25325

downloadIcon

538

Easily integrate a certain part of a TDL file into another one

Introduction 

This is a small utility that can be used to integrate one or several TDL files into a single one.

I have written this program because at a certain time I needed to merge several distinct ToDoLists in a single one.

While reading some of the messages on the todolist forum, I noticed that some users had similar needs to mine and tried similar approaches.

Therefore I'm publishing this utility as it might be useful to other users.

The choice of C# was mainly driven by its XPath library that makes it easy and quick to implement the required behaviour.

Usage

The Sample.zip contains a usage example of the tool.

Launching sample.cmd will execute the sample.

The provided project builds an executable named Tdl-merge.exe.

When launched from a command line, it takes the following arguments:

Mandatory Arguments

  • -src_tdl=<src.tdl> where src.tdl is the path of the source todolist file
  • -dst_tdl=<dest.tdl> where dest.tdl is the path to the target todolist file
  • -dst_task=<dest_task> where dest_task is the xpath of the destination task

Optional Arguments

  • -src_task=<src_task> where src_task is the xpath of the source task. If not specified, then all tasks from the src_tdl are merged.
  • -out_tdl=<outputfile> where outputfile is the name of the output file. If not specified, the dst_tdl is used instead.

Example

tdl-merge.exe
-dst_tdl="merged.tdl"
-dst_task="/TODOLIST/TASK[@TITLE='Main Tasks']/
	TASK[@TITLE='Main Task']/TASK[@TITLE='Imported Tasks (Specified)']"
-src_tdl="secondary-bis.tdl"
-src_task="/TODOLIST/TASK[@TITLE='B']/TASK[@TITLE='BB']"
-out_tdl="merged.tdl"

History

  • 9th April, 2009: Initial post