package BookPub::Import::Importer::BBCAudio::Version7;

use strict;

use lib '/app/tools/common/lib';
use Common::Assert;
use Data::Dumper;

use lib '/app/tools/bookpub/lib';
use base 'BookPub::Import::Importer::BBCAudio::Version6';

sub _fieldMap {
    {
        # detail
        rIsbn13    => 'C',
        rTitle     => 'A',
        rImprint   => 'G',
        rUnits     => 'I',
        rListPrice => 'D',
        rRevenue   => 'R',
    };
}

sub _unverifiedFieldMap {
    { revenueBeforeDistFee => 'H', };
}

sub _isValidSaleRecord {
    my $self = shift;

    # We only want to process the digital sales tab.
    if ( $self->sheetname && $self->sheetname =~ /downloadable/i ) {
        return $self->BookPub::Import::Importer::_isValidSaleRecord();
    } else {
        return 0;
    }
}

sub _preProcess {
    my $self = shift;
    my %args = @_;

    $self->Import::Importer::_preProcess(%args);

    my $sheetnum = 0;
    foreach my $sheet ( @{ $args{sheets} } ) {
        my $sheetname = $args{sheet_names}->[$sheetnum];
        $sheetnum++;

        if ( $sheetname =~ /downloadable/i ) {
            foreach my $line (@$sheet) {
                my $date = $line->[0];
                if ( $date =~ / (\w+) (\d{4})$/ ) {
                    my $year = $2;
                    my $month = substr( $1, 0, 3 );
                    $self->{_dateBegin} = $month . " " . $year;
                    last;
                }
            }
        }
    }
}

1;
