package BookPub::Import::Importer::Kobo::Version27;

use strict;

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

sub _headerIdentifier { ( isbn => 'eISBN' ) }

# We have to do some odd things with the field map here because this importer has
# different column definitions of seperate tabs.  The map is defined by tab name below.
# The summary tab is ignored (returns and empty field set).
sub _fieldMap {
    my $self = shift;

    my $map = {
        'kobo' => {
            currencyCode       => 'O',
            conversionRate     => 'M',
            countryCode        => 'C',
            rState             => 'D',
            rPostalCode        => 'E',
            dateBegin          => 'A',
            isbn               => 'G',
            rTitle             => 'I',
            rAuthor            => 'H',
            rUnits             => 'F',
            rListPriceCurrency => 'K',
            rRevenue           => 'N',
        },
    };

    my $sheet = lc( $self->sheetname ) || return {};
    return {} if ( $sheet =~ /(invoice|summary)/i );

    die "Unrecognized tab name '" . $self->sheetname . "'" unless ( $map->{$sheet} );

    return $map->{$sheet};
}

sub priceType    { 'rrp' }
sub purchaseType { BookPub::DB::Item::Sale::kPurchaseTypeDownload }
sub productType  { BookPub::DB::Item::Sale::kProductTypeEBook }

sub _dateFormat { [ 'iso', 'excel', 'text', 'eur' ] }

1;
