line |
true |
false |
branch |
3
|
0 |
2 |
if (@ARGV and @ARGV[0] =~ /^\w/) |
4
|
0 |
0 |
/^-{1,2}h\w{0,3}$/ ? : |
22
|
25 |
0 |
@_ > 1 ? : |
|
19 |
25 |
@_ == 1 ? : |
34
|
6 |
7 |
unless -d $File::Find::name |
35
|
5 |
4 |
if -d $$self |
37
|
6 |
0 |
$cb ? : |
41
|
6 |
0 |
$_[0]->basename =~ /^(\d+)-(\d+)_(.*)\.trc$/ ? : |
45
|
0 |
15 |
unless open my $file, '<', $$self |
54
|
0 |
6 |
unless open my $file, '>', $$self |
55
|
0 |
6 |
unless defined $file->syswrite($content) |
94
|
0 |
0 |
if @_ and -f $_[0] |
95
|
0 |
0 |
if $self->year or $self->month or not -t STDIN |
115
|
1 |
1 |
$event->{'minutes'} >= $self->config('round_up_at') ? : |
123
|
2 |
10 |
if &blessed($val) and $val->can('ymd') |
124
|
2 |
10 |
if ref $val eq 'ARRAY' |
143
|
0 |
1 |
if $for eq 'app' |
147
|
0 |
1 |
unless open my $POD, '<', $INC{'App/tt.pm'} |
150
|
9 |
189 |
if /^=head2 $for/ ... /^=(head|cut)/ |
155
|
0 |
1 |
unless @help |
180
|
2 |
0 |
$res->{'interval'} eq 'month' ? : |
181
|
1 |
1 |
if @table > 3 |
189
|
0 |
2 |
if ($self->config('hours_per_month') and $res->{'interval'} eq 'month') |
191
|
0 |
0 |
$days > 0 ? : |
192
|
0 |
0 |
$days <= 0 ? : |
203
|
1 |
1 |
unless $start and $stop |
210
|
0 |
1 |
if (-e $trc_file) |
215
|
1 |
0 |
if $self->_save($event) |
227
|
0 |
2 |
unless $event->{'project'} and $event->{'start'} |
230
|
0 |
2 |
unless $self->_save($event) |
239
|
1 |
2 |
if $exit_code == 3 |
248
|
1 |
2 |
if (not $event->{'start'}) { } |
|
1 |
1 |
elsif ($event->{'stop'}) { } |
273
|
1 |
10 |
unless ($self->{'config'}) |
276
|
2 |
0 |
unless -r $path |
277
|
0 |
0 |
unless open my $CONFIG, '<', $path |
279
|
0 |
0 |
unless $line =~ /^(?:TT_)?(\w+)=(.+)/ |
299
|
0 |
0 |
$trc_file ? : |
302
|
0 |
0 |
unless $event->{'start'} |
307
|
0 |
0 |
unless $event->{$k} |
|
0 |
0 |
if $k eq 'tags' |
308
|
0 |
0 |
if $k eq 'start' or $k eq 'stop' and $event->{$k} |
317
|
0 |
0 |
unless my($k, $v) = /^(\w+)\s*:\s*(.+)/ |
318
|
0 |
0 |
if $k eq 'tags' |
319
|
0 |
0 |
if $k eq 'start' |
320
|
0 |
0 |
if $k eq 'stop' |
324
|
0 |
0 |
unless $self->_save($event) |
325
|
0 |
0 |
if $prev |
326
|
0 |
0 |
unless $trc_file eq $event->{'path'} |
334
|
0 |
7 |
if -d '.git' |
350
|
4 |
18 |
if (ref $data eq 'ARRAY') |
351
|
0 |
4 |
$data->[0][-1] eq '{X}' ? : |
352
|
4 |
0 |
$PTY ? : |
356
|
3 |
8 |
unless ref $row eq 'ARRAY' |
361
|
26 |
10 |
if $len >= ($spec[$col] // 0) |
364
|
8 |
0 |
if $w >= ($width // 0) |
370
|
8 |
3 |
ref $_ ? : |
377
|
12 |
10 |
if ($data =~ s/^(\d*)(>|!)\s//) |
378
|
4 |
8 |
if $1 eq '2' or $2 eq '!' |
380
|
12 |
0 |
if $PTY |
383
|
7 |
15 |
if @_ == 2 |
403
|
4 |
4 |
if $trc_file and -r $trc_file |
405
|
2 |
0 |
if $_[0]->parse |
406
|
2 |
2 |
if $trc_file and -r $trc_file |
427
|
0 |
0 |
if $pl < length $p |
435
|
2 |
11 |
ref $duration ? : |
443
|
4 |
9 |
unless $sep |
444
|
0 |
9 |
if $sep eq '-hm' |
445
|
4 |
5 |
if $sep eq 'hm' |
453
|
0 |
10 |
unless $event->{'tags'} |
466
|
0 |
0 |
if /^(-\d+)(m|y|month|year)$/ |
467
|
0 |
0 |
if /^(-\d+)$/ |
468
|
0 |
0 |
if /^(month|year)/ |
469
|
0 |
0 |
if /^--fill/ |
476
|
0 |
4 |
if ($res->{'interval'} =~ /^y/) { } |
486
|
0 |
4 |
unless my($date, $hms, $project) = $_[0]->parse |
488
|
0 |
4 |
if @project_re and not grep({$event->{'project'} =~ /$_/;} @project_re) |
489
|
0 |
4 |
if $tags and not grep({$tags =~ /\b$_\b/;} @{$$event{'tags'};}) |
494
|
0 |
0 |
@{$res->{'log'};} ? : |
|
0 |
4 |
if $res->{'fill'} |
498
|
0 |
2 |
if @{$res->{'log'};} and not $res->{'log'}[-1]{'project'} and $res->{'log'}[-1]{'start'}->mday == $event->{'start'}->mday |
504
|
0 |
4 |
if (my $method = $self->can(sprintf('_group_by_%s', $self->group_by || 'nothing'))) |
514
|
0 |
0 |
if $self->month and not $self->year |
516
|
0 |
0 |
if $self->year |
517
|
0 |
0 |
if $self->month |
528
|
0 |
0 |
unless (-t STDIN and $self->year || $self->month) |
530
|
0 |
0 |
unless $code =~ /^\s*sub\b/s |
531
|
0 |
0 |
unless $code = eval "use 5.10.1;use strict;use warnings;$code" |
537
|
0 |
0 |
unless $info{'file'} =~ /$re$/ |
539
|
0 |
0 |
unless $code |
542
|
0 |
0 |
if $code and $self->$code($event) |
543
|
0 |
0 |
unless $info{'file'} eq $event->{'path'} |
553
|
2 |
2 |
if (my $duration = $event->{'stop'} && $event->{'start'} && $event->{'stop'} - $event->{'start'}) |
556
|
0 |
4 |
if ($event->{'stop'} and $event->{'seconds'} < $self->config('min_time')) |
566
|
4 |
0 |
if $event->{'start'} |
567
|
2 |
2 |
if $event->{'stop'} |
570
|
1 |
3 |
unless -d $event->{'path'}->dirname |
577
|
0 |
7 |
if @_ |
578
|
0 |
7 |
unless $self->tag |
585
|
3 |
2 |
if not $event->{'start'} or $event->{'stop'} |
590
|
1 |
1 |
if ($duration->seconds < $self->config('min_time')) |
594
|
0 |
1 |
unless unlink $event->{'path'} |
598
|
1 |
0 |
if ($self->_save($event)) |
612
|
27 |
7 |
@_ == 1 ? : |
614
|
28 |
6 |
if ($t{'str'}) |
616
|
6 |
22 |
if not $hms and $ymd =~ /:/ |
617
|
0 |
28 |
if $ymd and not $ymd =~ /^[\d-]+$/ |
618
|
0 |
28 |
if $hms and not $hms =~ /^[\d:]+$/ |
619
|
19 |
9 |
if $ymd =~ s/(\d{4})// |
620
|
20 |
8 |
if $ymd =~ s/0?(\d{1,2})-(\d+)/$2/ |
621
|
22 |
6 |
if $ymd =~ s/0?(\d{1,2})// |
622
|
28 |
0 |
if $hms =~ s/0?(\d{1,2})// |
623
|
25 |
3 |
if $hms =~ s/0?(\d{1,2})// |
624
|
23 |
5 |
if $hms =~ s/0?(\d{1,2})// |
628
|
0 |
34 |
unless ref $ref |
632
|
5 |
6 |
defined $t{'H'} || defined $t{'M'} ? : |
633
|
3 |
6 |
defined $t{'H'} ? : |
636
|
0 |
34 |
if $t{'m'} <= 0 |
637
|
0 |
34 |
if $t{'m'} > 12 |
642
|
1 |
33 |
unless (eval {
do {
$t{'iso'} = sprintf('%s-%02s-%02sT%02s:%02s:%02s', @t{'Y', 'm', 'd', 'H', 'M', 'S'});
$t{'tp'} = 'Time::Piece'->strptime("$t{'iso'}+0000", '%Y-%m-%dT%H:%M:%S%z')
}
}) |
645
|
1 |
0 |
if $t{'str'} |
659
|
0 |
0 |
if ($start->day_of_week != 0 and $start->day_of_week != 6) |
660
|
0 |
0 |
if $start < $NOW |
666
|
0 |
0 |
$NOW->hour > 12 ? : |