package RPS::Import::EMIMusic::Mobile::v1;

use strict;

use lib '/app/tools/data_classes/lib';
use lib '/app/tools/common/lib';
use lib '/app/tools/rps/lib';
use lib '/app/tools/raptor/lib';
use Common::Date;
use Common::Log;
use Common::RSMath;
use Client::Service;

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

use Data::Dumper;



# These files don't contain header lines.
#
sub _noHeader { 1 }

sub _unverifiedFieldMap {
    {
        usageType        => 'K',
        vat              => 'I',
    }
}


sub _fieldMap {
    {
        dateBegin        => 'C',
        isrc             => 'D',
        clientProductID  => 'D',  # Going to put the DTI in both columns...
        artistName       => 'E',
        trackName        => 'F',
        units            => 'G',
        price            => 'H',
        currencyCode     => 'J',
        countryCode      => 'M',
    }
}


# These are all tracks
#
sub productType { return RPS::File::Sale::TYPE_TRACK; }

my %gFormatTypes = (
    'RIN'   => RPS::File::Sale::FORMAT_RINGTONE,
    'OUT'   => RPS::File::Sale::FORMAT_RINGBACK,
    'VRT'   => RPS::File::Sale::FORMAT_RINGTONE, # was FORMAT_VIDEORINGER (FB1324)
    'VIC'   => RPS::File::Sale::FORMAT_STREAM,   # was FORMAT_VIDEOSTREAM (FB1324)
    'VID'   => RPS::File::Sale::FORMAT_DOWNLOAD, # was FORMAT_VIDEO (FB1324)
    #'IMA'   => RPS::File::Sale::FORMAT_GRAPHIC, # deleted (FB1324)
    'MDD'   => RPS::File::Sale::FORMAT_DOWNLOAD,
);

my %gMediaTypes = (
    'RIN'   => RPS::DB::Item::MediaType::kMediaTypeAudio,
    'OUT'   => RPS::DB::Item::MediaType::kMediaTypeAudio,
    'VRT'   => RPS::DB::Item::MediaType::kMediaTypeVideo,
    'VIC'   => RPS::DB::Item::MediaType::kMediaTypeVideo,
    'VID'   => RPS::DB::Item::MediaType::kMediaTypeVideo,
    #'IMA'   => RPS::DB::Item::MediaType::kMediaTypeVideo,
    'MDD'   => RPS::DB::Item::MediaType::kMediaTypeAudio,
);

sub formatType
{
    my ($self) = @_;

    my $usage = $self->_getByFieldName('usageType');
    return $gFormatTypes{$usage};
}

sub mediaType
{
    my ($self) = @_;

    my $usage = $self->_getByFieldName('usageType');
    return $gMediaTypes{$usage};
}





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