| version 1.15, 2005/05/04 01:48:35 |
version 1.22, 2006/07/24 19:03:53 |
|
|
| #!/usr/bin/perl -T |
#!/usr/bin/perl -T |
| #$Id$ |
#$RedRiver: CurrentTorrents.pl,v 1.21 2006/05/15 18:47:04 andrew Exp $ |
| use strict; |
use strict; |
| use warnings; |
use warnings; |
| use diagnostics; |
use diagnostics; |
| |
|
| use Time::Local; |
use Time::Local; |
| |
use Fcntl ':flock'; |
| |
|
| use lib 'lib'; |
use lib 'lib'; |
| use OpenBSDTorrents; |
use OpenBSDTorrents; |
| use BT::OBTMetaInfo; |
use BT::MetaInfo::Cached; |
| |
|
| %ENV = (); |
%ENV = (); |
| |
|
|
|
| |
|
| 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"; |
|
|
| next; |
next; |
| } |
} |
| |
|
| |
|
| my $t; |
my $t; |
| eval { $t = BT::OBTMetaInfo->new( $torrent ); }; |
eval { |
| |
$t = BT::MetaInfo::Cached->new( |
| |
$torrent, |
| |
{ |
| |
cache_root => '/tmp/OBTFileCache' |
| |
#$OBT->{DIR_HOME} . '/FileCache' |
| |
} |
| |
); |
| |
}; |
| |
|
| if ($@) { |
if ($@) { |
| warn "Error reading torrent $torrent\n"; |
warn "Error reading torrent $torrent\n"; |
|
|
| next; |
next; |
| } |
} |
| |
|
| my $hash = $t->info_hash_cached($torrent); |
my $hash = $t->info_hash; |
| $hash = unpack("H*", $hash); |
$hash = unpack("H*", $hash); |
| |
|
| |
undef $t; |
| |
|
| $files{torrent}{$name}{$epoch}{info_hash} = $hash; |
$files{torrent}{$name}{$epoch}{info_hash} = $hash; |
| |
|
| undef $t; |
|
| |
|
| if (exists $keep{$name}) { |
if (exists $keep{$name}) { |
| if (exists $keep{$name}{$hash}) { |
if (exists $keep{$name}{$hash}) { |