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

Diff for /openbsd/OpenBSDTorrents/CurrentTorrents.pl between version 1.27 and 1.28

version 1.27, 2010/01/05 19:43:44 version 1.28, 2010/01/05 19:55:22
Line 30 
Line 30 
 Process_Dir( $OBT->{DIR_FTP} );  Process_Dir( $OBT->{DIR_FTP} );
   
 my %files;  my %files;
 my %keep;  
 my @delete;  my @delete;
 foreach my $DIR ( $OBT->{DIR_NEW_TORRENT}, $OBT->{DIR_TORRENT} ) {  foreach my $DIR ( $OBT->{DIR_NEW_TORRENT}, $OBT->{DIR_TORRENT} ) {
     opendir DIR, $DIR      opendir DIR, $DIR
Line 84 
Line 83 
 }  }
   
 #print Dump \%files;  #print Dump \%files;
   
   my %keep;
 foreach my $name ( sort keys %{ $files{torrent} } ) {  foreach my $name ( sort keys %{ $files{torrent} } ) {
     next unless $name =~ /^$Name_Filter/;      next unless $name =~ /^$Name_Filter/;
   
Line 139 
Line 140 
   
         $files{torrent}{$name}{$epoch}{info_hash} = $hash;          $files{torrent}{$name}{$epoch}{info_hash} = $hash;
   
         if ( exists $keep{$name} ) {          if ( exists $keep{$hash} ) {
             if ( exists $keep{$name}{$hash} ) {              if ( $keep{$hash}{epoch} == $epoch ) {
                 if ( $keep{$name}{$hash}{epoch} == $epoch ) {                  next;
                     next;  
                 }  
                 print "Removing [$name] [$hash]\n\t",  
                     $keep{$name}{$hash}{path},  
                     "\n";  
                 push @delete, $keep{$name}{$hash};  
                 delete $files{torrent}{ $keep{$name}{$hash}{name} }  
                     { $keep{$name}{$hash}{epoch} };  
                 $keep{$name}{$hash} = $files{torrent}{$name}{$epoch};  
                 print "Keeping additional instance of  [$name] [$hash]\n\t",  
                     $keep{$name}{$hash}{path},  
                     "\n";  
             }              }
             else {              print "Removing [$name] [$hash]\n\t", $keep{$hash}{path}, "\n";
                 print "Removing old [$name] [$hash]\n";              push @delete, $keep{$hash};
                 if ( $keep{$name}{$hash}{path} ) {              delete $files{torrent}{ $keep{$hash}{name} }
                     print "\t", $keep{$name}{$hash}{path}, "\n";                  { $keep{$hash}{epoch} };
                 }              $keep{$hash} = $files{torrent}{$name}{$epoch};
                 push @delete, $files{torrent}{$name}{$epoch};              print "Keeping additional instance of  [$name] [$hash]\n\t",
                 delete $files{torrent}{$name}{$epoch};                  $keep{$hash}{path},
                   "\n";
           }
           else {
               print "Removing old [$name] [$hash]\n";
               if ( $keep{$hash}{path} ) {
                   print "\t", $keep{$hash}{path}, "\n";
             }              }
               push @delete, $files{torrent}{$name}{$epoch};
               delete $files{torrent}{$name}{$epoch};
         }          }
         else {          else {
             print "Keeping first instance of $name [$hash]\n\t",              print "Keeping first instance of $name [$hash]\n\t",
                 $files{torrent}{$name}{$epoch}{path},                  $files{torrent}{$name}{$epoch}{path},
                 "\n";                  "\n";
             $keep{$name}{$hash} = $files{torrent}{$name}{$epoch};              $keep{$hash} = $files{torrent}{$name}{$epoch};
   
         }          }
     }      }
Line 193 
Line 190 
 }  }
   
 #print Dump \%keep;  #print Dump \%keep;
 foreach my $name ( keys %keep ) {  foreach my $hash ( keys %keep ) {
     foreach my $hash ( keys %{ $keep{$name} } ) {      my $file = $keep{$hash}{file} || q{};
         my $file = $keep{$name}{$hash}{file} || q{};      my $dir  = $keep{$hash}{dir}  || q{};
         my $dir  = $keep{$name}{$hash}{dir}  || q{};      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 $name  = $keep{$hash}{name};
             my $epoch = $keep{$name}{$hash}{epoch};          my $epoch = $keep{$hash}{epoch};
   
             if ( exists $files{txt}{$name}{$epoch} ) {          if ( exists $files{txt}{$name}{$epoch} ) {
                 my $m_file = $files{txt}{$name}{$epoch}{file};              my $m_file = $files{txt}{$name}{$epoch}{file};
                 my $m_dir  = $files{txt}{$name}{$epoch}{dir};              my $m_dir  = $files{txt}{$name}{$epoch}{dir};
                 rename( "$m_dir/$m_file",              rename( "$m_dir/$m_file", $OBT->{DIR_TORRENT} . "/" . $m_file )
                     $OBT->{DIR_TORRENT} . "/" . $m_file )                  or die "Couldn't rename '$m_file': $!";
                     or die "Couldn't rename '$m_file': $!";  
             }  
         }          }
     }      }
 }  }

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

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