Esempio n. 1
0
use nzedb\processing\ProcessReleases;
$pdo = new Settings();
if (isset($argv[2]) && $argv[2] === 'true') {
    // Create the connection here and pass
    $nntp = new NNTP(['Settings' => $pdo]);
    if ($nntp->doConnect() !== true) {
        exit($pdo->log->error("Unable to connect to usenet."));
    }
}
if ($pdo->getSetting('tablepergroup') === 1) {
    exit($pdo->log->error("You are using 'tablepergroup', you must use .../misc/update/nix/multiprocessing/releases.php"));
}
$groupName = isset($argv[3]) ? $argv[3] : '';
if (isset($argv[1]) && isset($argv[2])) {
    $consoletools = new ConsoleTools(['ColorCLI' => $pdo->log]);
    $releases = new ProcessReleases(['Settings' => $pdo, 'ConsoleTools' => $consoletools]);
    if ($argv[1] == 1 && $argv[2] == 'true') {
        $releases->processReleases(1, 1, $groupName, $nntp, true);
    } else {
        if ($argv[1] == 1 && $argv[2] == 'false') {
            $releases->processReleases(1, 2, $groupName, $nntp, true);
        } else {
            if ($argv[1] == 2 && $argv[2] == 'true') {
                $releases->processReleases(2, 1, $groupName, $nntp, true);
            } else {
                if ($argv[1] == 2 && $argv[2] == 'false') {
                    $releases->processReleases(2, 2, $groupName, $nntp, true);
                } else {
                    if ($argv[1] == 4 && ($argv[2] == 'true' || $argv[2] == 'false')) {
                        echo $pdo->log->header("Moving all releases to other -> misc, this can take a while, be patient.");
                        $releases->resetCategorize();
Esempio n. 2
0
/**
 * Create / process releases for a groupID.
 *
 * @param Settings        $pdo
 * @param ProcessReleases $releases
 * @param int             $groupID
 */
function processReleases($pdo, $releases, $groupID)
{
    $releaseCreationLimit = $pdo->getSetting('maxnzbsprocessed') != '' ? (int) $pdo->getSetting('maxnzbsprocessed') : 1000;
    $releases->processIncompleteCollections($groupID);
    $releases->processCollectionSizes($groupID);
    $releases->deleteUnwantedCollections($groupID);
    do {
        $releasesCount = $releases->createReleases($groupID);
        $nzbFilesAdded = $releases->createNZBs($groupID);
        // This loops as long as the number of releases or nzbs added was >= the limit (meaning there are more waiting to be created)
    } while ($releasesCount['added'] + $releasesCount['dupes'] >= $releaseCreationLimit || $nzbFilesAdded >= $releaseCreationLimit);
    $releases->deleteCollections($groupID);
}
Esempio n. 3
0
         $consoletools = new ConsoleTools(['ColorCLI' => $pdo->log]);
         $rc = new ReleaseCleaning($pdo);
         foreach ($res as $row) {
             $newname = $rc->releaseCleaner($row['name'], $row['fromname'], $row['size'], $row['gname']);
             if (is_array($newname)) {
                 $newname = $newname['cleansubject'];
             }
             $newname = $pdo->escapeString($newname);
             $pdo->queryExec(sprintf("UPDATE releases SET searchname = %s WHERE id = %d", $newname, $row['id']));
             $sphinx->updateRelease($row['id']);
             $done++;
             $consoletools->overWritePrimary("Renaming:" . $consoletools->percentString($done, count($res)));
         }
         $timenc = $consoletools->convertTime(time() - $timestart);
         echo $pdo->log->header($done . " releases renamed in " . $timenc . ".\nNow the releases will be recategorized.");
         $releases = new ProcessReleases(['Settings' => $pdo, 'ConsoleTools' => $consoletools, 'ReleaseCleaning' => $rc]);
         $releases->resetCategorize("WHERE isrenamed = 0");
         $categorized = $releases->categorizeRelease("name", "WHERE isrenamed = 0");
         $timecat = $consoletools->convertTime(time() - $timestart);
         echo $pdo->log->header("Finished categorizing " . $categorized . " releases in " . $timecat . ".\nFinally, the releases will be fixed using the NFO/filenames.");
         $namefixer = new NameFixer(['Settings' => $pdo, 'ConsoleTools' => $consoletools]);
         $namefixer->fixNamesWithNfo(2, 1, 1, 1, $show);
         $namefixer->fixNamesWithFiles(2, 1, 1, 1, $show);
         $timetotal = $consoletools->convertTime(time() - $timestart);
         echo $pdo->log->header("Finished recreating search names / recategorizing / refixing names in " . $timetotal);
     } else {
         exit($pdo->log->info("You have no releases in the DB."));
     }
 } else {
     if (isset($argv[1]) && $argv[1] == "reset") {
         $pdo = new Settings();