Last active
February 18, 2017 07:20
-
-
Save stephenl03/089fcd7364d81e88bccb8803a5c13224 to your computer and use it in GitHub Desktop.
Identify some posts by Sour <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* This script will rename all releases posted by 'Sour <[email protected]>' 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 <[email protected]>"; | |
$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