[BACK]Return to CurrentTorrents.pl CVS log [TXT][DIR] Up to [local] / openbsd / OpenBSDTorrents

Diff for /openbsd/OpenBSDTorrents/CurrentTorrents.pl between version 1.19 and 1.24

version 1.19, 2005/06/01 18:52:14 version 1.24, 2007/11/02 03:36:01
Line 1 
Line 1 
 #!/usr/bin/perl -T  #!/usr/bin/perl -T
 #$Id$  #$RedRiver: CurrentTorrents.pl,v 1.23 2007/10/01 20:17:23 andrew Exp $
 use strict;  use strict;
 use warnings;  use warnings;
 use diagnostics;  use diagnostics;
   
 use Time::Local;  use Time::Local;
 use Fcntl ':flock';  use Fcntl ':flock';
   use File::Basename;
   #use YAML;
   
 use lib 'lib';  use lib 'lib';
 use OpenBSDTorrents;  use OpenBSDTorrents;
Line 13 
Line 15 
   
 %ENV = ();  %ENV = ();
   
 use YAML;  
   
 #justme();  #justme();
   
 my $Name_Filter = shift || '';  my $Name_Filter = shift || '';
Line 41 
Line 41 
                 } else {                  } else {
                         die "Invalid character in $_: $!";                          die "Invalid character in $_: $!";
                 }                  }
                 my ($name, $year, $mon, $mday, $hour, $min) =                  my $epoch = 0;
                    /^(.*)-(\d{4})-(\d{2})-(\d{2})-(\d{2})(\d{2})/;                  my $name  = basename($_, '.torrent');
   
                 $mon--;                  if (my ($base, $year, $mon, $mday, $hour, $min) =
                 my $epoch = timegm(0,$min,$hour,$mday,$mon,$year);                     /^(.*)-(\d{4})-(\d{2})-(\d{2})-(\d{2})(\d{2})/) {
   
                           $mon--;
                           $epoch = timegm(0,$min,$hour,$mday,$mon,$year);
                           $name = $base;
                   }
   
                 #print "Adding $_\n";                  #print "Adding $_\n";
   
                 $files{$ext}{$name}{$epoch} = {                  $files{$ext}{$name}{$epoch} = {
Line 54 
Line 59 
                         dir       => $DIR,                          dir       => $DIR,
                         path      => "$DIR/$_",                          path      => "$DIR/$_",
                         ext       => $ext,                          ext       => $ext,
                         year      => $year,                          #year      => $year,
                         mon       => $mon,                          #mon       => $mon,
                         mday      => $mday,                          #mday      => $mday,
                         hour      => $hour,                          #hour      => $hour,
                         min       => $min,                          #min       => $min,
                         name      => $name,                          name      => $name,
                         epoch     => $epoch,                          epoch     => $epoch,
                 };                  };
   
                 unless (exists $Possible_Torrents{$name}) {                  if (
                           $name =~ m/\A $OBT->{BASENAME} /xms &&
                           ! exists $Possible_Torrents{$name}
                   ) {
                         print "Would remove $_\n";                          print "Would remove $_\n";
                         push @delete, $files{$ext}{$name}{$epoch};                          push @delete, $files{$ext}{$name}{$epoch};
                 }                  }
Line 73 
Line 81 
   
 foreach my $name (keys %{ $files{torrent} }) {  foreach my $name (keys %{ $files{torrent} }) {
         next unless $name =~ /^$Name_Filter/;          next unless $name =~ /^$Name_Filter/;
         print "Checking $name\n";          #print "Checking $name\n";
   
         foreach my $epoch ( sort { $b <=> $a } keys %{ $files{torrent}{$name} } ) {          foreach my $epoch ( sort { $b <=> $a } keys %{ $files{torrent}{$name} } ) {
                 #print "\t$epoch\n";                  #print "\t$epoch\n";
Line 93 
Line 101 
                         $t = BT::MetaInfo::Cached->new(                          $t = BT::MetaInfo::Cached->new(
                                 $torrent,                                  $torrent,
                                 {                                  {
                                         cache_root =>                                          cache_root => '/tmp/OBTFileCache'
                                         $OBT->{DIR_HOME} . '/FileCache'                                          #$OBT->{DIR_HOME} . '/FileCache'
                                 }                                  }
                         );                          );
                 };                  };
   
                 if ($@) {                  if ($@) {
                         warn "Error reading torrent $torrent\n";                          warn "Error reading torrent $torrent\n";
                           push @delete, $files{torrent}{$name}{$epoch};
                           delete $files{torrent}{$name}{$epoch};
                         next;                          next;
                 }                  }
   
                 $files{torrent}{$name}{$epoch}{comment}   = $t->{comment};                  $files{torrent}{$name}{$epoch}{comment}   = $t->{comment};
                 my ($path) = $t->{comment} =~ /Files from ([^\n]+)\n/s;                  my ($path) = $t->{comment} =~ /($OBT->{BASENAME}\/[^\n]+)\n/s;
   
                 unless (-d $OBT->{DIR_FTP} . "/$path") {                  unless (-e $OBT->{DIR_FTP} . "/$path") {
                         #print "Deleting $files{torrent}{$name}{$epoch}{file} the path doesn't exist.\n";                          print "Deleting $files{torrent}{$name}{$epoch}{file} the path ($path) doesn't exist.\n";
                         push @delete, $files{torrent}{$name}{$epoch};                          push @delete, $files{torrent}{$name}{$epoch};
                         delete $files{torrent}{$name}{$epoch};                          delete $files{torrent}{$name}{$epoch};
                         next;                          next;
Line 145 
Line 155 
 }  }
   
 #print Dump \%files, \%keep, \@delete;  #print Dump \%files, \%keep, \@delete;
   #exit;
   
 foreach (@delete) {  foreach (@delete) {
         print "Deleting '$_->{path}'\n";          print "Deleting '$_->{path}'\n";
Line 162 
Line 173 
 }  }
   
   
 ##print Dump \%keep;  #print Dump \%keep;
 #foreach my $name (keys %keep) {  foreach my $name (keys %keep) {
 #       foreach my $hash (keys %{ $keep{$name} }) {          foreach my $hash (keys %{ $keep{$name} }) {
 #               my $file = $keep{$name}{$hash}{file};                  my $file = $keep{$name}{$hash}{file};
 #               my $dir  = $keep{$name}{$hash}{dir };                  my $dir  = $keep{$name}{$hash}{dir };
 #               if ($dir eq $OBT->{DIR_NEW_TORRENT}) {                  if ($dir eq $OBT->{DIR_NEW_TORRENT}) {
 #                       print "Moving $file to current torrents\n";                          print "Moving $file to current torrents\n";
 #                       rename("$dir/$file", $OBT->{DIR_TORRENT} . "/" . $file)                          rename("$dir/$file", $OBT->{DIR_TORRENT} . "/" . $file)
 #                               or die "Couldn't rename '$file': $!";                                  or die "Couldn't rename '$file': $!";
 #  
 #                       my $name = $keep{$name}{$hash}{name};  
 #                       my $epoch = $keep{$name}{$hash}{epoch};  
 #  
 #                       if (exists $files{txt}{$name}{$epoch}) {  
 #                               my $m_file = $files{txt}{$name}{$epoch}{file};  
 #                               my $m_dir  = $files{txt}{$name}{$epoch}{dir };  
 #                               rename(  
 #                                       "$m_dir/$m_file",  
 #                                       $OBT->{DIR_TORRENT} . "/" . $m_file  
 #                               ) or die "Couldn't rename '$m_file': $!";  
 #                       }  
 #               }  
 #       }  
 #}  
   
                           my $name = $keep{$name}{$hash}{name};
                           my $epoch = $keep{$name}{$hash}{epoch};
   
                           if (exists $files{txt}{$name}{$epoch}) {
                                   my $m_file = $files{txt}{$name}{$epoch}{file};
                                   my $m_dir  = $files{txt}{$name}{$epoch}{dir };
                                   rename(
                                           "$m_dir/$m_file",
                                           $OBT->{DIR_TORRENT} . "/" . $m_file
                                   ) or die "Couldn't rename '$m_file': $!";
                           }
                   }
           }
   }
   
 sub Process_Dir  sub Process_Dir
 {  {
         my $basedir = shift;          my $basedir = shift;
Line 198 
Line 209 
                 my $torrent = Name_Torrent($dir);                  my $torrent = Name_Torrent($dir);
                 $torrent =~ s/-.*$//;                  $torrent =~ s/-.*$//;
                 $Possible_Torrents{$torrent} = 1;                  $Possible_Torrents{$torrent} = 1;
                   foreach my $file (@$files) {
                           if ($file =~ /$INSTALL_ISO_REGEX/) {
                                   $torrent = Name_Torrent("$dir/$file");
                                   $torrent =~ s/-.*$//;
                                   $Possible_Torrents{$torrent} = 1;
                           }
                   }
         }          }
   
         foreach my $subdir (@$dirs) {          foreach my $subdir (@$dirs) {

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.24

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>