package RPS::Import::Merlin::v31;

use strict;

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

sub _headerIdentifier { ( upc => 'UPC' ) }

sub _fieldMap {
    my $self      = shift;
    my $version   = $self->_version;
    my %field_map = (
        31 => {

            # Data
            labelName    => 'C',
            countryCode  => 'K',
            dateBegin    => 'A',
            artistName   => 'I',
            upc          => 'D',
            albumName    => 'H',
            isrc         => 'J',
            trackNum     => 'F',
            trackName    => 'G',
            units        => 'M',
            currencyCode => 'R1',
            price        => 'R',
        },
        34 => {

            # Data
            labelName    => 'C',
            countryCode  => 'K',
            dateBegin    => 'A',
            artistName   => 'I',
            upc          => 'D',
            albumName    => 'H',
            isrc         => 'J',
            trackNum     => 'F',
            trackName    => 'G',
            units        => 'M',
            currencyCode => 'S1',
            price        => 'S',
        },
    );
    return $field_map{$version};
}

sub productType { return RPS::File::Sale::TYPE_TRACK; }
sub formatType  { return RPS::File::Sale::FORMAT_STREAM; }
sub mediaType   { return RPS::DB::Item::MediaType::kMediaTypeAudio }

sub currencyCode {
    my $self = shift;
    my $code;

    my $priceColumn = $self->_getByFieldName('currencyCode');
    if ( $priceColumn =~ /^Payable in (\w{3})$/i ) {
        $code = $1;
    }
    return $code;
}

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