Skip to content

Instantly share code, notes, and snippets.

@stephenl03
Last active February 18, 2017 07:20
Show Gist options
  • Save stephenl03/089fcd7364d81e88bccb8803a5c13224 to your computer and use it in GitHub Desktop.
Save stephenl03/089fcd7364d81e88bccb8803a5c13224 to your computer and use it in GitHub Desktop.
Identify some posts by Sour <lemons@dont.taste.nice.org>
<?php
/*
* This script will rename all releases posted by 'Sour <lemons@dont.taste.nice.org>' to mediainfo title.
* It will then reset all the values, so PostProcessing will check the release again and download all relevant info
* Written by stephenl03
*/
require_once realpath(dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . 'bootstrap.php');
use nzedb\db\DB;
use nzedb\Categorize;
use nzedb\Category;
use nzedb\ColorCLI;
use nzedb\ConsoleTools;
use nzedb\Groups;
use nzedb\NameFixer;
$pdo = new DB();
$cat = new Categorize(['Settings' => $pdo]);
$pdo->log = new ColorCLI();
$consoletools = new ConsoleTools(['ColorCLI' => $pdo->log]);
$fixer = new NameFixer();
$poster = "Sour <lemons@dont.taste.nice.org>";
$regex1 = "[a-f0-9]{64}";
$regex2 = "\<Movie_name\>.*RARBG\<\/Movie_name\>";
$count = 0;
$timestart = TIME();
echo $pdo->log->header("Getting releases to process...");
$sql = sprintf("SELECT rel.name, rel.searchname, rel.groups_id, rel.categories_id, rel.fromname, mediainfo, rel.id AS releases_id FROM releases rel INNER JOIN releaseextrafull rf ON (rf.releases_id = rel.id) WHERE nzbstatus = 1 AND predb_id = 0 AND fromname like %s and searchname REGEXP %s and mediainfo REGEXP %s;", $pdo->escapeString($poster), $pdo->escapeString($regex1), $pdo->escapeString($regex2));
$result = $pdo->query($sql);
foreach ($result as $r) {
preg_match('/Movie_name.*RARBG/', $r['mediainfo'], $match);
$rts = substr($match[0], 11);
$searchname = sprintf("UPDATE releases SET searchname = %s WHERE id = %d;", $pdo->escapeString($rts), $r['releases_id'], $r['releases_id']);
$releases = sprintf("UPDATE releases SET consoleinfo_id = NULL, gamesinfo_id = 0, imdbid = NULL, musicinfo_id = NULL, bookinfo_id = NULL, videos_id = 0, tv_episodes_id = 0, xxxinfo_id = 0, passwordstatus = -1, haspreview = -1, jpgstatus = 0, videostatus = 0, audiostatus = 0, nfostatus = -1 WHERE id = %d", $r['releases_id']);
$resp = $pdo->queryExec($searchname);
$res = $pdo->queryExec($releases);
$catId = $cat->determineCategory($r['groups_id'], $rts);
if ($r['categories_id'] != $catId) {
$catup = $pdo->queryExec(sprintf("UPDATE releases SET iscategorized = 1, categories_id = %d WHERE id = %d", $catId, $r['releases_id']));
}
$echodata = array('new_name' => $rts, 'old_name' => $r['searchname'], 'old_category' => $cats->getNameByID($r['categories_id']), 'new_category' => $cats->getNameByID($catId), 'group' => $groups->getNameByID($r['groups_id']), 'release_id' => $r['releases_id'], 'method' => 'File Name Match');
$fixer->echoChangedReleaseName($echodata);
if ($resp && $res && $catup) {
echo $pdo->log->info("Done!");
} else {
var_dump($res);
}
$count++;
}
$time = $consoletools->convertTime(TIME() - $timestart);
echo $pdo->log->primary("Updated " . $count . " releases in ". $time .".");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment