package Distribution::Packager::Liquid;

use strict;
use Data::Dumper;
use File::Basename;

use Common::Assert;

use lib '/app/tools/distribution/lib';
use base 'Distribution::PackagerNew';

sub _serviceCountries { qw( US ) }

sub _requireAllowed { 1 }

sub _templateFile { 'liquid.tt' }

sub _xsdFile { 'liquid-album.xsd' }

sub _worldWideTerritory { 'WORLD' }

sub _createDistributionPackageName {
    my $self   = shift;
    my $vendor = $self->{_acctInfo}->Code();
    return $self->SUPER::_createDistributionPackageName( format => "${vendor}_%d%02d%02d%02d%02d%02d" );
}

###
#   Album Art
###
sub _imageFormat {
    {
        geometry => '500x500',
        density  => 72,
    };
}

sub _albumImageName {
    my $self = shift;
    my $album = shift || die "album required";

    assert( $album->{upc} );

    return $album->{upc} . "_500x500.jpg";
}

###
#   Album Audio
###
sub _audioConverter { 'MediaServe::Audio::Converter::MP3' }
sub _audioConverterOptions { { bitrate => 256 } }

sub _albumAudioFileName {
    shift->SUPER::_albumAudioFileName( @_, format => "%s_%02d_%02d.%s" );
}

1;
