package RPS::Import::7Digital::v11;

use strict;

use Date::Calc qw(Days_in_Month);

use Data::Dumper;

use lib '/app/tools/common/lib';

use lib '/app/tools/rps/lib';
use RPS::Import::Importer;

use base 'RPS::Import::Importer';


sub _fieldMap {
    {
        labelName     => 'H',
        dateBegin     => 'A',
        dateEnd       => 'A',
        productType   => 'F',
        upc           => 'G',
        albumName     => 'C',
        isrc          => 'F',
        trackName     => 'E',
        price         => 'M',
    }
}

sub _unverifiedFieldMap {
    {
        albumArtist   => 'B',
        trackArtist   => 'D',
    }
}



sub _headerIdentifier { ( dateBegin => 'Sale Date' ) }

sub formatType  { return RPS::File::Sale::FORMAT_DOWNLOAD; }
sub mediaType   { return RPS::DB::Item::MediaType::kMediaTypeAudio; }

sub countryCode { "GB" }
sub currencyCode { "GBP" }
sub units { 1 }

sub productType { 
    my $self = shift;

    my $isrc = $self->_getByFieldName('isrc');

    if( $isrc )
    {
        return RPS::File::Sale::TYPE_TRACK;
    } else {
        return RPS::File::Sale::TYPE_ALBUM;
    }
}


sub artistName {
    my $self = shift;

    if( $self->productType() eq RPS::File::Sale::TYPE_ALBUM )
    {
        return $self->_getByFieldName( 'albumArtist' );   
    }
    else
    {
        return $self->_getByFieldName( 'trackArtist' );
    }
}


###
1;# Play nicely.
###
