File: Net.pm

package info (click to toggle)
sreview 0.12.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,504 kB
  • sloc: perl: 12,360; javascript: 509; sh: 72; makefile: 8
file content (70 lines) | stat: -rw-r--r-- 1,228 bytes parent folder | download
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;