Export commands deprecated
- Provided examplars of export commands re-implemented using the new _query command. - Implemented export-xml.pl, export-xml.py, export-xml.rb. - Implemented export-csv.pl. - Implemented export-yaml.pl. - Implemented export-ical.pl.
This commit is contained in:
67
scripts/add-ons/export-xml.rb
Executable file
67
scripts/add-ons/export-xml.rb
Executable file
@@ -0,0 +1,67 @@
|
||||
#! /usr/bin/ruby
|
||||
################################################################################
|
||||
## taskwarrior - a command line task list manager.
|
||||
##
|
||||
## Copyright 2006 - 2011, Paul Beckingham, Federico Hernandez.
|
||||
## All rights reserved.
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify it under
|
||||
## the terms of the GNU General Public License as published by the Free Software
|
||||
## Foundation; either version 2 of the License, or (at your option) any later
|
||||
## version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
## FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
## details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License along with
|
||||
## this program; if not, write to the
|
||||
##
|
||||
## Free Software Foundation, Inc.,
|
||||
## 51 Franklin Street, Fifth Floor,
|
||||
## Boston, MA
|
||||
## 02110-1301
|
||||
## USA
|
||||
##
|
||||
################################################################################
|
||||
|
||||
require 'rubygems'
|
||||
require 'json'
|
||||
|
||||
# Use the taskwarrior 1.9.4+ _query command to issue a query and return JSON
|
||||
lines = IO.popen("/usr/local/bin/task _query " + ARGV.join(" ")).readlines
|
||||
|
||||
# Generate output.
|
||||
print "<tasks>\n"
|
||||
lines.each do |line|
|
||||
data = JSON.parse(line)
|
||||
print " <task>\n"
|
||||
data.each do |key,value|
|
||||
if key == "annotations"
|
||||
print " <annotations>\n"
|
||||
value.each do |anno|
|
||||
print " <annotation>\n"
|
||||
anno.each do |key,value|
|
||||
print " <#{key}>#{value}</#{key}>\n"
|
||||
end
|
||||
print " </annotation>\n"
|
||||
end
|
||||
print " </annotations>\n"
|
||||
elsif key == "tags"
|
||||
print " <tags>\n"
|
||||
value.each do |tag|
|
||||
print " <tag>#{tag}</tag>\n"
|
||||
end
|
||||
print " </tags>\n"
|
||||
else
|
||||
print " <#{key}>#{value}</#{key}>\n"
|
||||
end
|
||||
end
|
||||
print " </task>\n"
|
||||
end
|
||||
print "</tasks>\n"
|
||||
exit 0
|
||||
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user