Add support for traktid into releaseas and movies. Add script to populate traktid for existing releases with imdbid and rageid.

This commit is contained in:
Darko
2015-09-11 15:36:06 +02:00
parent 5bf5cf3418
commit b1cc81773b
5 changed files with 78 additions and 11 deletions
+48
View File
@@ -0,0 +1,48 @@
<?php
//This script will update all records in the movieinfo table
require_once dirname(__FILE__) . '/../../../www/config.php';
use newznab\db\Settings;
$pdo = new Settings();
$trakt = new TraktTv(['Settings' => $pdo]);
$mreleases = $pdo->queryDirect(sprintf('SELECT id, imdbid FROM releases WHERE traktid = 0 AND imdbid IS NOT NULL AND imdbid != 0000000 ORDER BY id ASC'));
$treleases = $pdo->queryDirect(sprintf('SELECT id, rageid FROM releases WHERE traktid = 0 AND rageid NOT IN(0,-1,-2)'));
$mtotal = $mreleases->rowCount();
$ttotal = $treleases->rowCount();
$mcount = 0;
if ($mtotal > 0) {
echo $pdo->log->header("Updating Trakt ID for " . number_format($mtotal) . " movies.");
foreach ($mreleases as $rel) {
$mcount++;
$data = $trakt->movieSummary('tt' . $rel['imdbid'], 'min');
if ($data != false) {
if (isset($data['ids']['trakt'])) {
$pdo->queryExec(sprintf('UPDATE releases SET traktid = %s WHERE id = %s', $pdo->escapeString($data['ids']['trakt']), $pdo->escapeString($rel['id'])));
echo $pdo->log->info('Updated ' . $data['title'] . ' with Trakt ID:' . $data['ids']['trakt']);
}
}
}
echo $pdo->log->header('Updated ' . $mcount . ' movie(s).');
} else {
echo $pdo->log->info('No movies need updating');
}
$tcount = 0;
if ($ttotal > 0) {
echo $pdo->log->header("Updating Trakt ID for " . number_format($ttotal) . " shows.");
foreach ($treleases as $rel) {
$tcount++;
$data = $trakt->showSummary($rel['rageid'], 'min');
if ($data != false) {
if (isset($data['ids']['trakt'])) {
$pdo->queryExec(sprintf('UPDATE releases SET traktid = %s WHERE id = %s', $pdo->escapeString($data['ids']['trakt']), $pdo->escapeString($rel['id'])));
echo $pdo->log->info('Updated ' . $data['title'] . ' with Trakt ID:' . $data['ids']['trakt']);
}
}
}
echo $pdo->log->header('Updated ' . $tcount . ' show(s).');
} else {
exit($pdo->log->info('No shows need updating'));
}
+8 -8
View File
@@ -4,8 +4,8 @@ require_once dirname(__FILE__) . '/../../www/config.php';
use newznab\db\Settings;
$movie = new Movie(true);
$db = new Settings();
$movie = new Movie(['Echo' => true, 'Settings' => $pdo]);
$movies = [];
$counter = 1;
$sleepsecsbetweenscrape = 1;
@@ -14,19 +14,19 @@ $sleepsecsbetweenscrape = 1;
//print_r($movie->fetchImdbProperties("1375666"));
// CASE 1 - UPDATE ALL RECORDS
//$movies = $db->query("SELECT imdbID from movieinfo");
//$movies = $db->query("SELECT imdbid from movieinfo");
// CASE 2 - UPDATE ALL WITH A BLANK TITLE
//$movies = $db->query("SELECT imdbID from movieinfo where title = ''");
//$movies = $db->query("SELECT imdbid from movieinfo where title = ''");
// CASE 3 - UPDATE ALL RECORDS NOT UPDATED IN THE LAST 6 MONTHS
//$movies = $db->query("SELECT imdbID from movieinfo where updateddate < DATE_ADD(NOW(), INTERVAL -6 MONTH)");
//$movies = $db->query("SELECT imdbid from movieinfo where updateddate < DATE_ADD(NOW(), INTERVAL -6 MONTH)");
// CASE 4 - UPDATE ALL RECORDS WHERE COVER IS EMPTY
//$movies = $db->query("SELECT imdbID from movieinfo where cover = 0");
//$movies = $db->query("SELECT imdbid from movieinfo where cover = 0");
// CASE 5 - UPDATE ALL WITH NO TRAILER
//$movies = $db->query("SELECT imdbID from movieinfo where trailer is null and tmdbid is not null");
//$movies = $db->query("SELECT imdbid from movieinfo where trailer is null and tmdbid is not null");
if (count($movies) == 0)
@@ -37,7 +37,7 @@ if (count($movies) == 0)
echo "Updating ".count($movies)." records - Sleep interval ".$sleepsecsbetweenscrape." second(s)\n";
foreach ($movies as $mov) {
echo "Updating ".$mov['imdbID']." (".$counter++."/".count($movies).")\n";
$mov = $movie->updateMovieInfo($mov['imdbID']);
echo "Updating ".$mov['imdbid']." (".$counter++."/".count($movies).")\n";
$mov = $movie->updateMovieInfo($mov['imdbid']);
sleep($sleepsecsbetweenscrape);
}