package BookPub::Import::Importer::Follett::Version3;

use strict;

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

sub _headerIdentifier { ( rTitle => 'Title' ) }

sub purchaseType { BookPub::DB::Item::Sale::kPurchaseTypeDownload }
sub productType  { BookPub::DB::Item::Sale::kProductTypeEBook }
sub priceType    { 'rrp' }
sub currencyCode { 'USD' }
sub countryCode  { 'US' }

sub _fieldMap {
    {
        rIsbn13    => 'A',
        rTitle     => 'B',
        rUnits     => 'F',
        rListPrice => 'C',
        rDiscount  => 'D',
        rUnitPrice => 'E',
        rRevenue   => 'G',
    };
}

sub _processHeader {
    my $self = shift;

    unless ( $self->{_dateBegin} ) {
        $self->{_dateBegin} = $self->_getDateFromFilename() || $self->_getDateFromHeader();
    }

    return 1;
}

sub _getDateBegin {
    my $self = shift;
    $self->fail("Unable to determine date from filename or header") unless ( $self->{_dateBegin} );
    return $self->{_dateBegin};
}

sub _dateNormalization { 'month' }

sub _getDateFromFilename {
    my $self = shift;
    my $filename = $self->filename || return;

    my ( $month, $year ) = $filename =~ /(\d+)-(\d+)/;

    return;
    return $month && $year ? "$month-20$year" : undef;
}

sub _getDateFromHeader {
    my $self = shift;
    return unless ( $self->line->[0] );

    my ($date) = $self->line->[0] =~ /-\s(\w+\s\d{4})/;

    return $date;

}

1;
