App-Glacier

 view release on metacpan or  search on metacpan

lib/App/Glacier/Command/Put.pm  view on Meta::CPAN

	exit $code;
    }
}

sub _upload {
    my ($self, $vaultname, $localname, $remotename) = @_;

    $remotename = basename($localname) unless defined($remotename);

    my $st = stat($localname)
	or $self->abend(EX_NOINPUT, "can't stat \"$localname\": $!");
    unless (S_ISREG($st->mode)) {
	$self->abend(EX_NOPERM, "\"$localname\" is not a regular file");
    }
    my $size = $st->size;
    if ($size == 0) {
	$self->abend(EX_NOPERM, "\"$localname\": file has zero size");
    }
    
    my $dir = $self->directory($vaultname);
    my $id = ($size < $self->cf_transfer_param(qw(upload single-part-size)))

lib/App/Glacier/Core.pm  view on Meta::CPAN

use Carp;

require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(usage_error
                 pod_usage_msg
                 EX_OK
                 EX_FAILURE
                 EX_USAGE       
                 EX_DATAERR     
                 EX_NOINPUT     
                 EX_NOUSER      
                 EX_NOHOST      
                 EX_UNAVAILABLE 
                 EX_SOFTWARE    
                 EX_OSERR       
                 EX_OSFILE      
                 EX_CANTCREAT   
                 EX_IOERR       
                 EX_TEMPFAIL    
                 EX_PROTOCOL    
                 EX_NOPERM      
                 EX_CONFIG);

use constant {
    EX_OK => 0,
    EX_FAILURE => 1,
    EX_USAGE        => 64, 
    EX_DATAERR      => 65, 
    EX_NOINPUT      => 66, 
    EX_NOUSER       => 67, 
    EX_NOHOST       => 68, 
    EX_UNAVAILABLE  => 69, 
    EX_SOFTWARE     => 70, 
    EX_OSERR        => 71, 
    EX_OSFILE       => 72, 
    EX_CANTCREAT    => 73, 
    EX_IOERR        => 74, 
    EX_TEMPFAIL     => 75, 
    EX_PROTOCOL     => 76, 

lib/App/Glacier/Job/FileRetrieval.pm  view on Meta::CPAN


    my $dir = $cmd->directory($vault);
    unless ($dir) {
	$cmd->abend(EX_TEMPFAIL,
		    "nothing is known about vault $vault; please get directory listing first");
    }
    my $archive;
    ($archive, $version) = $dir->locate($file, $version);
    unless ($archive) {
	$version = 1 unless defined $version;
	$cmd->abend(EX_NOINPUT,
		    "$vault:$file;$version not found; make sure directory listing is up-to-date");
    }
    
    my $self = $class->SUPER::new($cmd, $vault, $archive->{ArchiveId},
				  description => "Retrieval of $file;$version",
				  ttl => $cmd->cfget(qw(database job ttl)));
    $self->{_filename} = $file;
    $self->{_fileversion} = $version;
    return $self;
}



( run in 0.579 second using v1.01-cache-2.11-cpan-4e96b696675 )