mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Export YAML
- Implemented export-yaml.pl as a filter. - Reimplemented export.yaml.t to use the filter.
This commit is contained in:
parent
5f4571b0d0
commit
c1a21ce5a4
2 changed files with 9 additions and 15 deletions
|
@ -37,21 +37,18 @@ if ($@)
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Use the taskwarrior 2.0+ export command to filter and return JSON
|
|
||||||
my $command = join (' ', ("env PATH=$ENV{PATH} task export", @ARGV));
|
|
||||||
if ($command =~ /No matches/)
|
|
||||||
{
|
|
||||||
printf STDERR $command;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Generate output.
|
# Generate output.
|
||||||
print "%YAML 1.1\n",
|
print "%YAML 1.1\n",
|
||||||
"---\n";
|
"---\n";
|
||||||
|
|
||||||
for my $task (split /,$/ms, qx{$command})
|
while (my $json = <>)
|
||||||
{
|
{
|
||||||
my $data = from_json ($task);
|
$json =~ s/^\[//;
|
||||||
|
$json =~ s/\]$//;
|
||||||
|
$json =~ s/,$//;
|
||||||
|
next if $json eq '';
|
||||||
|
|
||||||
|
my $data = from_json ($json);
|
||||||
|
|
||||||
print " task:\n";
|
print " task:\n";
|
||||||
for my $key (sort keys %$data)
|
for my $key (sort keys %$data)
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Test::More tests => 21;
|
use Test::More tests => 20;
|
||||||
|
|
||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'export.rc')
|
if (open my $fh, '>', 'export.rc')
|
||||||
|
@ -42,11 +42,8 @@ if (open my $fh, '>', 'export.rc')
|
||||||
# Add two tasks, export, examine result.
|
# Add two tasks, export, examine result.
|
||||||
qx{../src/task rc:export.rc add priority:H project:A one};
|
qx{../src/task rc:export.rc add priority:H project:A one};
|
||||||
qx{../src/task rc:export.rc add +tag1 +tag2 two};
|
qx{../src/task rc:export.rc add +tag1 +tag2 two};
|
||||||
my $output = qx{env PATH=../src task rc:export.rc _version};
|
|
||||||
like ($output, qr/^[a-z0-9]{7}$/, 'found task via env');
|
|
||||||
|
|
||||||
qx{env PATH=../src:$ENV{PATH} ../scripts/add-ons/export-yaml.pl rc:export.rc > ./export.txt};
|
|
||||||
|
|
||||||
|
my $output = qx{../src/task rc:export.rc export | ../scripts/add-ons/export-yaml.pl > ./export.txt};
|
||||||
my @lines;
|
my @lines;
|
||||||
if (open my $fh, '<', './export.txt')
|
if (open my $fh, '<', './export.txt')
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue