package RPS::Import::RealNet::Digital;

use strict;

use lib '/app/tools/common/lib';
use Common::Date;

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

use Data::Dumper;

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

sub _productTypes {
    {
         'track' =>
         {
             productType => RPS::File::Sale::TYPE_TRACK,
             formatType  => RPS::File::Sale::FORMAT_DOWNLOAD,
             mediaType   => RPS::DB::Item::MediaType::kMediaTypeAudio,
         },
         'album' =>
         {
             productType => RPS::File::Sale::TYPE_ALBUM,
             formatType  => RPS::File::Sale::FORMAT_DOWNLOAD,
             mediaType   => RPS::DB::Item::MediaType::kMediaTypeAudio,
         },
    }
}

sub _processHeader {
    my $self = shift;

    return if( $self->{_dateBegin} );

    my $dateBegin = $self->SUPER::_getDateBegin();
    my $dateEnd   = $self->SUPER::_getDateEnd();

    if( $dateBegin && $dateBegin =~ /\d/ ) {
        my $begin = new Common::Date($dateBegin);
        my $end   = new Common::Date($dateEnd);

        $self->{_dateBegin} = $begin->monthBegin();
        $self->{_dateEnd}   = $end->monthEnd();

        $self->{_countryCode}   = $self->SUPER::_getByFieldName('countryCode');
        $self->{_currencyCode}  = $self->SUPER::_getByFieldName('currencyCode');
    }
}

sub _getDateBegin { shift->{_dateBegin} }
sub _getDateEnd   { shift->{_dateEnd} }

sub countryCode   { shift->{_countryCode} }
sub currencyCode  { shift->{_currencyCode} }

sub trackName {
    my $self = shift;
    return $self->productType eq RPS::File::Sale::TYPE_TRACK ? $self->SUPER::trackName() : undef;
}

sub albumName {
    my $self = shift;
    return $self->productType eq RPS::File::Sale::TYPE_ALBUM ? $self->SUPER::albumName() : undef;
}


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