Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use News::NNTPClient;
- use Digest::MD5 (md5_hex);
- use Time::Local;
- use Data::Dumper;
- use DBI;
- $db_handle = DBI->connect("DBI:mysql:database=nzbtest;user=nzbtest;password=zzzz;host=localhost", {AutoCommit => 1}) or die $DBI::errstr;
- my %server = (
- host => "zzzz",
- port => 8888,
- user => "zzz",
- pass => "zzz",
- );
- $test = 0;
- $c = new News::NNTPClient($server{host}, $server{port});
- $c->authinfo($server{user}, $server{pass}) or die $!;
- $c->mode_reader;
- ($first, $last) = $c->group("alt.binaries.boneless");
- $start = $last-50000;
- $finish = $last;
- $sth = $db_handle->prepare("INSERT ignore INTO `segments` (`msg-id`,`part`,`md5`,`date`,`size`) VALUES (?, ?, ?, ?, ?)");
- $sthz = $db_handle->prepare("INSERT IGNORE INTO `files` (`ArticleID`,`md5`,`subject`,`startdate`,`from`,`total`) VALUES (?, ?, ?, ?, ?, ?)");
- my @shit = $c->xover($start,$finish);
- my $i=0;
- while($i<=50000) {
- $shit[$i] =~ /^(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)/;
- my $articleid = $1;
- my $subject = $2;
- my $from = $3;
- my $date = $4;
- my $size = $7;
- my $msgid = substr $5,1,-1;
- if ($subject =~ /^(.*)\"(.*)\"(.*)yEnc\s?\((\d{1,6})\/(\d{1,6})\)/i) {
- my $md5 = md5_hex($1,$2.$3.$5.$from);
- my $part = $4;
- my $total = $5;
- $date =~ /(\d{1,2})\s(\S{1,3})\s(\d{4})\s(\d{2}):(\d{2}):(\d{2})/;
- $date = timegm($6,$5,$4,$1,$months{$2},$3);
- $subject = $db_handle->quote($subject);
- ##$db_handle->do("INSERT ignore INTO `segments` (`msg-id`,`part`,`md5`,`date`,`size`) VALUES ('$msgid',$part,'$md5','$date','$size')");
- $sth->execute($msgid,$part,$md5,$date,$size);
- if ($part =~ /^0*1$/) {
- ##$db_handle->do("INSERT IGNORE INTO `files` (`ArticleID`,`md5`,`subject`,`startdate`,`from`,`total`) VALUES ('$articleid','$md5',$subject,'$date','$from','$total')");
- $sthz->execute($articleid,$md5,$subject,$date,$from,$total);
- }
- }
- else{
- print "Non yEnc\n";
- $test++;
- }
- $i++;
- }
- print $test;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement