mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
Change hash16k and srr name fixing queries and support in groupfixrelnames and NameFixer
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
2017-05-09 DariusIII
|
||||
* Chg: Change hash16k and srr name fixing queries and support in groupfixrelnames and NameFixer
|
||||
2017-05-08 DariusIII
|
||||
* Chg: Use reset function in NameFixer
|
||||
* Chg: Update AniDb queries and handling
|
||||
|
||||
+2
-2
@@ -16,8 +16,8 @@
|
||||
</last>
|
||||
</scripts>
|
||||
<sql>
|
||||
<db>306</db>
|
||||
<file>306</file>
|
||||
<db>307</db>
|
||||
<file>307</file>
|
||||
</sql>
|
||||
</versions>
|
||||
</nntmux>
|
||||
|
||||
@@ -27,7 +27,7 @@ $thread = $pieces[3];
|
||||
|
||||
switch (true) {
|
||||
|
||||
case $pieces[0] === 'standard' && isset($guidChar) && isset($maxperrun) && is_numeric($maxperrun):
|
||||
case $pieces[0] === 'standard' && $guidChar !== null && $maxperrun !== null && is_numeric($maxperrun):
|
||||
|
||||
// Allow for larger filename return sets
|
||||
$pdo->queryExec('SET SESSION group_concat_max_len = 32768');
|
||||
@@ -38,7 +38,8 @@ switch (true) {
|
||||
sprintf("
|
||||
SELECT
|
||||
r.id AS releases_id, r.guid, r.groups_id, r.categories_id, r.name, r.searchname, r.proc_nfo,
|
||||
r.proc_uid, r.proc_files, r.proc_par2, r.proc_sorter, r.ishashed, r.dehashstatus, r.nfostatus,
|
||||
r.proc_uid, r.proc_files, r.proc_par2, r.proc_srr, r.proc_hash16k, r.proc_sorter, r.ishashed, r
|
||||
.dehashstatus, r.nfostatus,
|
||||
r.size AS relsize, r.predb_id,
|
||||
IFNULL(rf.releases_id, 0) AS fileid, IF(rf.ishashed = 1, rf.name, 0) AS filehash,
|
||||
IFNULL(GROUP_CONCAT(rf.name ORDER BY rf.name ASC SEPARATOR '|'), '') AS filestring,
|
||||
@@ -65,6 +66,8 @@ switch (true) {
|
||||
OR r.proc_files = %d
|
||||
OR r.proc_uid = %d
|
||||
OR r.proc_par2 = %d
|
||||
OR r.proc_srr = %d
|
||||
OR r.proc_hash16k = %d
|
||||
OR
|
||||
(
|
||||
r.nfostatus = %5\$d
|
||||
@@ -89,6 +92,8 @@ switch (true) {
|
||||
NameFixer::PROC_FILES_NONE,
|
||||
NameFixer::PROC_UID_NONE,
|
||||
NameFixer::PROC_PAR2_NONE,
|
||||
NameFixer::PROC_SRR_NONE,
|
||||
NameFixer::PROC_HASH16K_NONE,
|
||||
MiscSorter::PROC_SORTER_NONE,
|
||||
Category::getCategoryOthersGroup(),
|
||||
$maxperrun
|
||||
@@ -132,6 +137,30 @@ switch (true) {
|
||||
}
|
||||
$namefixer->reset();
|
||||
|
||||
if ($release['proc_srr'] == NameFixer::PROC_SRR_NONE) {
|
||||
echo ColorCLI::primaryOver('sr');
|
||||
$namefixer->srrNameCheck($release, true, 'SRR, ', 1, 1);
|
||||
}
|
||||
// Not all gate requirements in query always set column status as PP Add check is in query
|
||||
$namefixer->_updateSingleColumn('proc_srr', NameFixer::PROC_SRR_DONE, $release['releases_id']);
|
||||
|
||||
if ($namefixer->matched) {
|
||||
continue;
|
||||
}
|
||||
$namefixer->reset();
|
||||
|
||||
if ($release['proc_hash16k'] == NameFixer::PROC_HASH16K_NONE && !empty($release['hash'])) {
|
||||
echo ColorCLI::primaryOver('U');
|
||||
$namefixer->hashCheck($release, true, 'PAR2 hash, ', 1, 1);
|
||||
}
|
||||
// Not all gate requirements in query always set column status as PP Add check is in query
|
||||
$namefixer->_updateSingleColumn('proc_hash16k', NameFixer::PROC_HASH16K_DONE, $release['releases_id']);
|
||||
|
||||
if ($namefixer->matched) {
|
||||
continue;
|
||||
}
|
||||
$namefixer->reset();
|
||||
|
||||
if ($release['nfostatus'] == Nfo::NFO_FOUND && $release['proc_nfo'] == NameFixer::PROC_NFO_NONE) {
|
||||
if (!empty($release['textstring']) && !preg_match('/^=newz\[NZB\]=\w+/', $release['textstring'])) {
|
||||
echo ColorCLI::primaryOver('n');
|
||||
@@ -160,10 +189,6 @@ switch (true) {
|
||||
if ($namefixer->matched === false) {
|
||||
echo ColorCLI::primaryOver('xf');
|
||||
$namefixer->xxxNameCheck($releaseFile, true, 'Filenames, ', 1, 1);
|
||||
if ($namefixer->matched === false) {
|
||||
echo ColorCLI::primaryOver('e');
|
||||
$namefixer->srrNameCheck($releaseFile, true, 'Filenames, ', 1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+36
-18
@@ -21,8 +21,10 @@ class NameFixer
|
||||
const PROC_PAR2_DONE = 1;
|
||||
const PROC_UID_NONE = 0;
|
||||
const PROC_UID_DONE = 1;
|
||||
const PROC_HASH_NONE = 0;
|
||||
const PROC_HASH_DONE = 1;
|
||||
const PROC_HASH16K_NONE = 0;
|
||||
const PROC_HASH16K_DONE = 1;
|
||||
const PROC_SRR_NONE = 0;
|
||||
const PROC_SRR_DONE = 1;
|
||||
|
||||
// Constants for overall rename status
|
||||
const IS_RENAMED_NONE = 0;
|
||||
@@ -388,8 +390,8 @@ class NameFixer
|
||||
*/
|
||||
public function fixNamesWithSrr($time, $echo, $cats, $nameStatus, $show): void
|
||||
{
|
||||
$this->_echoStartMessage($time, 'file names');
|
||||
$type = 'Filenames, ';
|
||||
$this->_echoStartMessage($time, 'SRR file names');
|
||||
$type = 'SRR, ';
|
||||
|
||||
if ($cats === 3) {
|
||||
$query = sprintf('
|
||||
@@ -409,11 +411,13 @@ class NameFixer
|
||||
FROM releases rel
|
||||
INNER JOIN release_files rf ON (rf.releases_id = rel.id)
|
||||
WHERE (rel.isrenamed = %d OR rel.categories_id IN (%d, %d))
|
||||
AND rf.name %s',
|
||||
AND rf.name %s
|
||||
AND rel.proc_srr = %d',
|
||||
self::IS_RENAMED_NONE,
|
||||
Category::OTHER_MISC,
|
||||
Category::OTHER_HASHED,
|
||||
$this->pdo->likeString('.srr', true, false)
|
||||
$this->pdo->likeString('.srr', true, false),
|
||||
self::PROC_SRR_NONE
|
||||
);
|
||||
}
|
||||
|
||||
@@ -616,21 +620,21 @@ class NameFixer
|
||||
rel.name, rel.name AS textstring, rel.predb_id, rel.searchname,
|
||||
ph.hash AS hash
|
||||
FROM releases rel
|
||||
LEFT JOIN par_hashes ph ON ph.releases_id = rel.id
|
||||
WHERE ph.releases_id IS NOT NULL
|
||||
STRAIGHT_JOIN par_hashes ph ON ph.releases_id = rel.id
|
||||
AND rel.nzbstatus = %d
|
||||
AND rel.isrenamed = %d
|
||||
AND rel.categories_id IN (%d, %d)
|
||||
AND rel.proc_par2 = %d',
|
||||
AND rel.proc_hash16k = %d',
|
||||
NZB::NZB_ADDED,
|
||||
self::IS_RENAMED_NONE,
|
||||
Category::OTHER_MISC,
|
||||
Category::OTHER_HASHED,
|
||||
self::PROC_PAR2_NONE
|
||||
self::PROC_HASH16K_NONE
|
||||
);
|
||||
}
|
||||
|
||||
$releases = $this->_getReleases($time, $cats, $query);
|
||||
|
||||
if ($releases instanceof \Traversable) {
|
||||
$total = $releases->rowCount();
|
||||
if ($total > 0) {
|
||||
@@ -667,15 +671,15 @@ class NameFixer
|
||||
echo ColorCLI::header($query . $this->timeother . $queryLimit . ";\n");
|
||||
$releases = $this->pdo->queryDirect($query . $this->timeother . $queryLimit);
|
||||
} // 24 hours, all cats
|
||||
else if ($time === 1 && $cats === 2) {
|
||||
if ($time === 1 && $cats === 2) {
|
||||
echo ColorCLI::header($query . $this->timeall . $queryLimit . ";\n");
|
||||
$releases = $this->pdo->queryDirect($query . $this->timeall . $queryLimit);
|
||||
} //other cats
|
||||
else if ($time === 2 && $cats === 1) {
|
||||
if ($time === 2 && $cats === 1) {
|
||||
echo ColorCLI::header($query . $this->fullother . $queryLimit . ";\n");
|
||||
$releases = $this->pdo->queryDirect($query . $this->fullother . $queryLimit);
|
||||
} // all cats
|
||||
else if ($time === 2 && $cats === 2) {
|
||||
if ($time === 2 && $cats === 2) {
|
||||
echo ColorCLI::header($query . $this->fullall . $queryLimit . ";\n");
|
||||
$releases = $this->pdo->queryDirect($query . $this->fullall . $queryLimit);
|
||||
}
|
||||
@@ -850,6 +854,12 @@ class NameFixer
|
||||
case 'UID, ':
|
||||
$status = 'isrenamed = 1, iscategorized = 1, proc_uid = 1,';
|
||||
break;
|
||||
case 'PAR2 hash, ':
|
||||
$status = 'isrenamed = 1, iscategorized = 1, proc_hash16k = 1,';
|
||||
break;
|
||||
case 'SRR, ':
|
||||
$status = 'isrenamed = 1, iscategorized = 1, proc_srr = 1,';
|
||||
break;
|
||||
}
|
||||
$this->pdo->queryExec(
|
||||
sprintf('
|
||||
@@ -1291,6 +1301,9 @@ class NameFixer
|
||||
case 'UID, ':
|
||||
$this->uidCheck($release, $echo, $type, $namestatus, $show);
|
||||
break;
|
||||
case 'SRR, ':
|
||||
$this->srrNameCheck($release, $echo, $type, $namestatus, $show);
|
||||
break;
|
||||
case 'NFO, ':
|
||||
$this->nfoCheckTV($release, $echo, $type, $namestatus, $show);
|
||||
$this->nfoCheckMov($release, $echo, $type, $namestatus, $show);
|
||||
@@ -1318,8 +1331,13 @@ class NameFixer
|
||||
$this->_updateSingleColumn('proc_files', self::PROC_FILES_DONE, $release['releases_id']);
|
||||
break;
|
||||
case 'PAR2, ':
|
||||
$this->_updateSingleColumn('proc_par2', self::PROC_PAR2_DONE, $release['releases_id']);
|
||||
break;
|
||||
case 'PAR2 hash, ':
|
||||
$this->_updateSingleColumn('proc_par2', self::PROC_FILES_DONE, $release['releases_id']);
|
||||
$this->_updateSingleColumn('proc_hash16k', self::PROC_HASH16K_DONE, $release['releases_id']);
|
||||
break;
|
||||
case 'SRR, ':
|
||||
$this->_updateSingleColumn('proc_srr', self::PROC_SRR_DONE, $release['releases_id']);
|
||||
break;
|
||||
case 'UID, ':
|
||||
$this->_updateSingleColumn('proc_uid', self::PROC_UID_DONE, $release['releases_id']);
|
||||
@@ -2030,7 +2048,7 @@ class NameFixer
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->_updateSingleColumn('proc_files', self::PROC_FILES_DONE, $release['releases_id']);
|
||||
$this->_updateSingleColumn('proc_srr', self::PROC_SRR_DONE, $release['releases_id']);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2050,8 +2068,8 @@ class NameFixer
|
||||
if ($this->done === false && $this->relid !== (int)$release['releases_id']) {
|
||||
$result = $this->pdo->queryDirect("
|
||||
SELECT r.id AS releases_id, r.size AS relsize, r.name AS textstring, r.searchname, r.fromname, r.predb_id
|
||||
FROM par_hashes ph
|
||||
STRAIGHT_JOIN releases r ON ph.releases_id = r.id
|
||||
FROM releases r
|
||||
STRAIGHT_JOIN par_hashes ph ON ph.releases_id = r.id
|
||||
WHERE ph.hash = {$this->pdo->escapeString($release['hash'])}
|
||||
AND ph.releases_id != {$release['releases_id']}
|
||||
AND (r.predb_id > 0 OR r.anidbid > 0)"
|
||||
@@ -2076,7 +2094,7 @@ class NameFixer
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->_updateSingleColumn('proc_par2', self::PROC_PAR2_DONE, $release['releases_id']);
|
||||
$this->_updateSingleColumn('proc_hash16k', self::PROC_HASH16K_DONE, $release['releases_id']);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# Add proc_srr column to releases table
|
||||
|
||||
ALTER TABLE releases ADD COLUMN proc_srr TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Has the release been srr
|
||||
processed';
|
||||
|
||||
# Add proc_hash16k column to releases table
|
||||
|
||||
ALTER TABLE releases ADD COLUMN proc_hash16k TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Has the release been
|
||||
hash16k processed';
|
||||
@@ -749,6 +749,10 @@ CREATE TABLE releases (
|
||||
proc_nfo TINYINT(1) NOT NULL DEFAULT '0',
|
||||
proc_files TINYINT(1) NOT NULL DEFAULT '0',
|
||||
proc_uid TINYINT(1) NOT NULL DEFAULT '0',
|
||||
proc_srr TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Has the release been srr
|
||||
processed',
|
||||
proc_hash16k TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Has the release been hash16k
|
||||
processed',
|
||||
PRIMARY KEY (id, categories_id),
|
||||
INDEX ix_releases_name (name),
|
||||
INDEX ix_releases_groupsid (groups_id,passwordstatus),
|
||||
|
||||
Reference in New Issue
Block a user