package Distribution::Packager::Livewire;

use strict;
use Data::Dumper;

use Common::Assert;

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

sub _templateFile { 'livewire.tt' }

sub _xsdFile { 'LivewireMobile_Delivery-Schema_v1.0.3.xsd' }

#sub _requireMappedGenres { 1 }

#sub _requireMappedArtistRoles { 1 }

sub _imageFormat {
    {
        geometry => '300x300',
        density  => 72,
    };
}

sub _audioConverter { 'MediaServe::Audio::Converter::MP3' }
sub _audioConverterOptions { { bitrate => 320 } }

sub _worldWideTerritory { 'WW' }

sub _requireAllowed { 1 }

sub _createDistributionPackageName {
    my $self = shift;
    my ( $sec, $min, $hour, $mday, $mon, $year ) = localtime( time() );
    my $name;

    my $step = 0;

    do {
        $name = sprintf( '%02d%02d%02d_%02d%02d', $mon + 1, $mday, $year + 1900, $hour, $min + $step );

        $self->_processFailure( "Unable to create a delivery directory", 22 )
          if ( $step > 10 );

        $step += 1;

    } while ( $self->_isDistributionPackageUsed($name) );

    return $name;
}

1;
