From 16083207bf517c91c1fa933334cf679e31ba5cbd Mon Sep 17 00:00:00 2001 From: Vincent Date: Wed, 10 Jul 2019 09:22:06 +0200 Subject: [PATCH] . --- scripts/cron/cron.php | 36 ------------------------------------ scripts/lib/mediarasp.php | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 36 deletions(-) diff --git a/scripts/cron/cron.php b/scripts/cron/cron.php index a8e04c7..07b91ed 100644 --- a/scripts/cron/cron.php +++ b/scripts/cron/cron.php @@ -22,7 +22,6 @@ function cronOneLoop($cronmin) } if ($cronmin % 5 == 0) { cronPing($cronmin); - cronSeen($cronmin); cronMediaLibrary($cronmin); cronTmdb($cronmin); } @@ -68,41 +67,6 @@ function cronRooms($cronmin) checkPlanetarium(); } -function cronSeen($cronmin) -{ - global $devices; - - $seen = []; - - $omxdevices = ['salon', 'bureau', 'litvincent', 'litjerome', 'sdb']; - foreach ($omxdevices as $omxdevice) { - if (!isAlive($omxdevice)) { - continue; - } - try { - $res = httpRequest('http://' . $devices[$omxdevice]['host'] . ':4321/', 'post', ['action' => 'filelist']); - } catch (Exception $e) { - continue; - } - if (!$res) { - continue; - } - $all = json_decode($res->getBody(), true); - foreach ($all as $item) { - if ($item['seen']) { - $seen[str_replace('/nas/', '/volume1/Share/', $item['path'])] = true; - } - } - } - - $cache = ROOT . '/cache/seen.json'; - if (file_exists($cache)) { - $seen = array_merge($seen, json_decode(file_get_contents($cache), true)); - } - file_put_contents($cache, json_encode($seen)); - connectRedis()->igbset('mediaseen', $seen); -} - function cronMediaLibrary($cronmin) { global $directories; diff --git a/scripts/lib/mediarasp.php b/scripts/lib/mediarasp.php index fbcd436..e2895e0 100644 --- a/scripts/lib/mediarasp.php +++ b/scripts/lib/mediarasp.php @@ -269,6 +269,7 @@ function mediaRaspPlayMovie($movie, $device = null) } + addSeen($movie); $res = VLCPlay($movie, $device); mediaRaspPostPlay($device); @@ -276,6 +277,31 @@ function mediaRaspPlayMovie($movie, $device = null) return $res; } +function addSeen($movie) +{ + $redis = connectRedis(); + + try { + $seen = $redis->igbget('mediaseen'); + } catch (Exception $e) { + $seen = []; + } + + if (!is_array($seen)) { + $seen = []; + } + + $cacheFile = ROOT . '/cache/seen.json'; + if (!count($seen)) { + $seen = json_decode(file_get_contents($cacheFile)); + } + + $seen[str_replace('/nas/', '/volume1/Share/', $movie)] = true; + $redis->igbset('mediaseen', $seen); + + file_put_contents($cacheFile, json_encode($seen)); +} + function mediaRaspCommons($device) { global $squeezeboxPlayers; -- 2.39.5