/[pxelator]/lib/PXElator/upstream.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/upstream.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 272 by dpavlin, Wed Aug 19 23:12:02 2009 UTC revision 276 by dpavlin, Thu Aug 20 17:36:17 2009 UTC
# Line 6  use autodie; Line 6  use autodie;
6    
7  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
8  use LWP::Simple qw/mirror RC_NOT_MODIFIED/;  use LWP::Simple qw/mirror RC_NOT_MODIFIED/;
 use Storable;  
9  use server;  use server;
10    use once;
11    
12  sub mirror_file {  sub mirror_file {
13          my ( $url, $file ) = @_;          my ( $url, $file ) = @_;
# Line 19  sub mirror_file { Line 19  sub mirror_file {
19                  ;                  ;
20  }  }
21    
 my $once_path = '/tmp/pxelator.once';  
 our $just_once = retrieve $once_path if -e $once_path;  
 sub first_time {  
         my $what = shift;  
         return if $just_once->{$what}++;  
         store $just_once, $once_path;  
         return 1;  
 }  
   
22  sub iso {  sub iso {
23          my $url = shift;          my $url = shift;
24    
# Line 44  sub iso { Line 35  sub iso {
35    
36          my $iso = "$dir/$file";          my $iso = "$dir/$file";
37    
38          mirror_file( $url, $iso ) if first_time $url;          mirror_file( $url, $iso ) if once::first_time $url;
39    
40          $file =~ s{\.iso$}{}i;          $file =~ s{\.iso$}{}i;
41          my $mnt = "$server::base_dir/tftp/$name";          my $mnt = "$server::base_dir/tftp/$name";
# Line 73  sub files { Line 64  sub files {
64    
65          foreach my $file ( @files ) {          foreach my $file ( @files ) {
66                  mirror_file( "$url/$file", "$path/$file" )                  mirror_file( "$url/$file", "$path/$file" )
67                          if ! -e "$path/$file" || first_time( "$url/$file" );                          if ! -e "$path/$file" || once::first_time( "$url/$file" );
68          }          }
69  }  }
70    

Legend:
Removed from v.272  
changed lines
  Added in v.276

  ViewVC Help
Powered by ViewVC 1.1.26