chomp;
next if /^Total: \d+\.\d{2}$/;
if (/^\s*\* /) {
+ print STDERR $_."\n";
if (defined $time) {
$tex_log .= format_events(date => $date,
date2 => $date2,
$date = undef;
$time = undef;
}
- s/\s*\[[\.\d]+\]\s*\[[\.\d]+\]\s*$//;
- my $string = $_;
- my ($d1,$d2) = map {s/^\s*\*\s*//;
- UnixDate(ParseDate($_),'%s')
- } split /\s*-\s*/;
+ s/\s*\[[\.\d]+\]\s*\[[\.\d]+\]\s*$//;
+ my ($d1,$d2);
+ if (/\s*\*\s*CLOCK:\s+\[([^\]]+)\]--\[([^\]]+)\]/ or
+ /^\s*\*\s*(.+)?\s* - \s*(.+)?\s*$/
+ ) {
+ $d1 = UnixDate(ParseDate($1),'%s');
+ $d2 = UnixDate(ParseDate($2),'%s');
+ if (not defined $d1) {
+ die "Invalid date: $1";
+ }
+ if (not defined $d2) {
+ die "Invalid date: $2";
+ }
+ } else {
+ die "malformed line $_";
+ }
+ my $string = '* '.strftime('%A, %B %e, %H:%M:%S',localtime($d1)).' - '.
+ strftime('%A, %B %e, %H:%M:%S',localtime($d2));
if (not defined $first_date) {
$first_date = $d1;
}
}
$time = $hours;
$totaldelta += $delta;
- $calc_log .= qq($string [).sprintf('%.2f',$hours).qq(] [).sprintf('%.2f',$totaldelta/(60*60)).qq(]\n);
+ $calc_log .= $string.q( [).sprintf('%.2f',$hours).qq(] [).sprintf('%.2f',$totaldelta/(60*60)).qq(]\n);
}
elsif (/^\s+-\s*(.+)/) {
my $event = $1;