mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 00:01:21 +00:00
Remove usage of Blacklight\db\DB class from clean_nzbs and test-ReleaseCleaner scripts
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
2018-07-18 DariusIII
|
||||
* Chg: Remove usage of Blacklight\db\DB class from clean_nzbs and test-ReleaseCleaner scripts
|
||||
* Chg: Remove usage of Blacklight\db\DB class from populate_anidb.php script
|
||||
* Chg: Remove usage of Blacklight\db\DB class from release postprocessing classes
|
||||
* Chg: Remove usage of Blacklight\db\DB class from Capabilities and XMLResponse
|
||||
|
||||
@@ -2,28 +2,26 @@
|
||||
|
||||
require_once dirname(__DIR__, 3).DIRECTORY_SEPARATOR.'bootstrap/autoload.php';
|
||||
|
||||
use Blacklight\ColorCLI;
|
||||
use Blacklight\NZB;
|
||||
use Blacklight\db\DB;
|
||||
use App\Models\Settings;
|
||||
use Blacklight\Releases;
|
||||
use Blacklight\ReleaseImage;
|
||||
use Blacklight\utility\Utility;
|
||||
|
||||
$pdo = new DB();
|
||||
|
||||
$dir = NN_RES.'movednzbs/';
|
||||
|
||||
if (! isset($argv[1]) || ! in_array($argv[1], ['true', 'move'])) {
|
||||
exit($pdo->log->error("\nThis script can remove all nzbs not found in the db and all releases with no nzbs found. It can also move invalid nzbs.\n\n"
|
||||
exit(ColorCLI::error("\nThis script can remove all nzbs not found in the db and all releases with no nzbs found. It can also move invalid nzbs.\n\n"
|
||||
."php $argv[0] true ...: For a dry run, to see how many would be moved.\n"
|
||||
."php $argv[0] move ...: Move NZBs that are possibly bad or have no release. They are moved into this folder: $dir\n"));
|
||||
}
|
||||
|
||||
if (! is_dir($dir) && ! mkdir($dir)) {
|
||||
if (! is_dir($dir) && ! mkdir($dir) && ! is_dir($dir)) {
|
||||
exit("ERROR: Could not create folder [$dir].".PHP_EOL);
|
||||
}
|
||||
|
||||
$releases = new Releases(['Settings' => $pdo]);
|
||||
$releases = new Releases();
|
||||
$nzb = new NZB();
|
||||
$releaseImage = new ReleaseImage();
|
||||
|
||||
@@ -31,8 +29,8 @@ $timestart = date('r');
|
||||
$checked = $moved = 0;
|
||||
$couldbe = ($argv[1] === 'true') ? 'could be ' : '';
|
||||
|
||||
echo $pdo->log->header('Getting List of nzbs to check against db.');
|
||||
echo $pdo->log->header("Checked / {$couldbe}moved\n");
|
||||
echo ColorCLI::header('Getting List of nzbs to check against db.');
|
||||
echo ColorCLI::header("Checked / {$couldbe}moved\n");
|
||||
|
||||
$dirItr = new \RecursiveDirectoryIterator(Settings::settingValue('..nzbpath'));
|
||||
$itr = new \RecursiveIteratorIterator($dirItr, \RecursiveIteratorIterator::LEAVES_ONLY);
|
||||
@@ -54,25 +52,23 @@ foreach ($itr as $filePath) {
|
||||
}
|
||||
}
|
||||
|
||||
echo $pdo->log->header("\n".number_format($checked).' nzbs checked, '.number_format($moved).' nzbs '.$couldbe.'moved.');
|
||||
echo $pdo->log->header('Getting List of releases to check against nzbs.');
|
||||
echo $pdo->log->header("Checked / releases deleted\n");
|
||||
echo ColorCLI::header("\n".number_format($checked).' nzbs checked, '.number_format($moved).' nzbs '.$couldbe.'moved.');
|
||||
echo ColorCLI::header('Getting List of releases to check against nzbs.');
|
||||
echo ColorCLI::header("Checked / releases deleted\n");
|
||||
|
||||
$checked = $deleted = 0;
|
||||
|
||||
$res = $pdo->queryDirect('SELECT id, guid, nzbstatus FROM releases');
|
||||
if ($res instanceof \Traversable) {
|
||||
$res = DB::select('SELECT id, guid, nzbstatus FROM releases');
|
||||
foreach ($res as $row) {
|
||||
$nzbpath = $nzb->getNZBPath($row['guid']);
|
||||
$nzbpath = $nzb->getNZBPath($row->guid);
|
||||
if (! is_file($nzbpath)) {
|
||||
$deleted++;
|
||||
$releases->deleteSingle(['g' => $row['guid'], 'i' => $row['id']], $nzb, $releaseImage);
|
||||
} elseif ($row['nzbstatus'] != 1) {
|
||||
$pdo->queryExec(sprintf('UPDATE releases SET nzbstatus = 1 WHERE id = %d', $row['id']));
|
||||
$releases->deleteSingle(['g' => $row->guid, 'i' => $row->id], $nzb, $releaseImage);
|
||||
} elseif ($row->nzbstatus !== 1) {
|
||||
DB::update(sprintf('UPDATE releases SET nzbstatus = 1 WHERE id = %d', $row->id));
|
||||
}
|
||||
$checked++;
|
||||
echo "$checked / $deleted\r";
|
||||
}
|
||||
}
|
||||
echo $pdo->log->header("\n".number_format($checked).' releases checked, '.number_format($deleted).' releases deleted.');
|
||||
echo $pdo->log->header("Script started at [$timestart], finished at [".date('r').']');
|
||||
echo ColorCLI::header("\n".number_format($checked).' releases checked, '.number_format($deleted).' releases deleted.');
|
||||
echo ColorCLI::header("Script started at [$timestart], finished at [".date('r').']');
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
require_once dirname(__DIR__, 3).DIRECTORY_SEPARATOR.'bootstrap/autoload.php';
|
||||
|
||||
use Blacklight\db\DB;
|
||||
use Blacklight\SphinxSearch;
|
||||
use Blacklight\ReleaseCleaning;
|
||||
|
||||
@@ -35,36 +34,36 @@ if ($argv[3] === 'true') {
|
||||
$rename = true;
|
||||
}
|
||||
|
||||
$pdo = new DB();
|
||||
$pdo = DB::connection()->getPdo();
|
||||
|
||||
$group = $pdo->queryOneRow(sprintf('SELECT id FROM groups WHERE name = %s', $pdo->escapeString($argv[1])));
|
||||
$group = DB::selectOne(sprintf('SELECT id FROM groups WHERE name = %s', $pdo->quote($argv[1])));
|
||||
|
||||
if ($group === false) {
|
||||
exit('No group with name '.$argv[1].' found in the database.');
|
||||
}
|
||||
|
||||
$releases = $pdo->query(sprintf('SELECT name, searchname, fromname, size, id FROM releases WHERE groups_id = %d %s ORDER BY postdate LIMIT %d', $group['id'], $category, $argv[2]));
|
||||
$releases = DB::select(sprintf('SELECT name, searchname, fromname, size, id FROM releases WHERE groups_id = %d %s ORDER BY postdate LIMIT %d', $group['id'], $category, $argv[2]));
|
||||
|
||||
if (count($releases) === 0) {
|
||||
if (\count($releases) === 0) {
|
||||
exit('No releases found in your database for group '.$argv[1].PHP_EOL);
|
||||
}
|
||||
|
||||
$RC = new ReleaseCleaning($pdo);
|
||||
$RC = new ReleaseCleaning();
|
||||
$sphinx = new SphinxSearch();
|
||||
|
||||
foreach ($releases as $release) {
|
||||
$newName = $RC->releaseCleaner($release['name'], $release['fromname'], $argv[1]);
|
||||
$newName = $RC->releaseCleaner($release->name, $release->fromname, $argv[1]);
|
||||
if (is_array($newName)) {
|
||||
$newName = $newName['cleansubject'];
|
||||
}
|
||||
if ($newName !== $release['searchname']) {
|
||||
echo 'Old name: '.$release['searchname'].PHP_EOL;
|
||||
echo 'Old name: '.$release->searchname.PHP_EOL;
|
||||
echo 'New name: '.$newName.PHP_EOL.PHP_EOL;
|
||||
|
||||
if ($rename === true) {
|
||||
$newName = $pdo->escapeString($newName);
|
||||
$pdo->queryExec(sprintf('UPDATE releases SET searchname = %s WHERE id = %d', $newName, $release['id']));
|
||||
$sphinx->updateRelease($release['id']);
|
||||
$newName = $pdo->quote($newName);
|
||||
DB::update(sprintf('UPDATE releases SET searchname = %s WHERE id = %d', $newName, $release->id));
|
||||
$sphinx->updateRelease($release->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user