package BookPub::RDAS::Parser::SaleData::BarnesNoble::Files;

use lib '/app/tools/rdas/lib';
use base 'RDAS::Parser::Item';

use Data::Dumper;

sub value {
    my $token = shift->token() || return;
    my @result;

    my @rows = $token->find('tr');
    return unless (@rows);

    foreach my $row (@rows) {
        my $file = _getLink($row);
        push( @result, $file ) if ($file);
    }

    return \@result;
}

sub _getLink {
    my $row = shift;
    my ($link) = $row->look_down( _tag => 'td', class => 'x1s x57' );
    ($link) = $row->look_down( _tag => 'td', class => 'x1s' ) unless ($link);
    my ($a)      = $link->find('a')          if ($link);
    my $filename = $link->as_text() . ".csv" if ($link);
    my $date     = _getDate($filename);

    return unless ( $link && $a );

    my $result = {
        start    => $date,
        end      => $date,
        filename => $filename,
        link     => $a->attr('href')
    };

    return $result;
}

sub _getDate {
    my $file = shift || return;
    my $date;

    if ( $file =~ /eBook_Pay_(\d{2})(\d{2})(\d{2})/ ) {
        $date = new Common::Date("$1-$2-20$3");
    } elsif ( $file =~ /ebook_Int_(\d{2})(\d{2})(\d{4})/ ) {
        $date = new Common::Date("$1-$2-$3");
    }

    return "$date";
}

1;
