1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
package SReview::Files::Access::Net;
use Moose;
use File::Temp qw/tempfile tempdir mktemp/;
use File::Path qw/make_path/;
use File::Basename;
use Carp;
use SReview::Config::Common;
extends 'SReview::Files::Access::Base';
has '+filename' => (
predicate => 'has_download',
);
has 'workdir' => (
is => 'ro',
lazy => 1,
builder => '_get_workdir',
);
sub _get_workdir {
return tempdir(DIR => SReview::Config::Common::setup()->get("workdir"), CLEANUP => 1);
}
sub _get_file {
...
}
sub _probe_mtime {
...
}
sub _probe_basepath {
return shift->workdir;
}
sub store_file {
my $self = shift;
$self->stored;
return 1;
}
sub delete {
...
}
sub valid_path_filename {
my $self = shift;
my $path = join('/', $self->workdir, $self->relname);
make_path(dirname($path));
symlink($self->filename, $path);
return $path;
}
sub DEMOLISH {
my $self = shift;
if($self->has_download) {
if($self->download_verbose) {
print "removing " . $self->filename . "\n";
}
unlink($self->filename);
}
}
no Moose;
1;
|