Compare commits

..

1 Commits

Author SHA1 Message Date
Brock H Caldwell
d358ef8de6 fix: adds build on push to main
All checks were successful
CI / build-test (push) Successful in 2m55s
2026-03-17 23:19:23 -05:00
2 changed files with 13 additions and 35 deletions

View File

@@ -2,6 +2,8 @@ name: CI
on:
push:
branches:
- "main"
tags:
- "v*"

View File

@@ -11,7 +11,6 @@ use App\Monitor\Framework\Entity\Monitor;
use App\Monitor\Framework\Repository\MonitorRepository;
use App\Tmdb\Dto\TmdbEpisodeDto;
use App\Tmdb\TmdbClient;
use App\Tmdb\TmdbResult;
use Carbon\Carbon;
use DateTimeImmutable;
use Doctrine\ORM\EntityManagerInterface;
@@ -37,14 +36,18 @@ readonly class MonitorTvShowHandler implements HandlerInterface
public function handle(CommandInterface $command): ResultInterface
{
$this->logger->info('> [MonitorTvShowHandler] Executing MonitorTvShowHandler');
$monitor = $this->monitorRepository->find($command->monitorId);
$showTmdbData = $this->tmdb->tvshowDetails($monitor->getImdbId());
$this->refreshData($monitor, $showTmdbData);
$this->refreshData($monitor);
// Check current episodes
$downloadedEpisodes = $this->getDownloadedEpisodes($monitor->getTitle(), $showTmdbData);
$downloadedEpisodes = $this->mediaFiles
->getEpisodes($monitor->getTitle())
->map(fn($episode) => (object)(new PTN())->parse($episode))
->filter(fn($episode) => property_exists($episode, 'episode')
&& property_exists($episode, 'season')
&& null !== $episode->episode
&& null !== $episode->season
);
$this->logger->info('> [MonitorTvShowHandler] Found ' . count($downloadedEpisodes) . ' downloaded episodes for title: ' . $monitor->getTitle());
@@ -127,33 +130,6 @@ readonly class MonitorTvShowHandler implements HandlerInterface
);
}
private function getDownloadedEpisodes(string $title, TmdbResult $showTmdbData): Map
{
// Episodes in folder w/o the year
$downloadedEpisodes = $this->mediaFiles
->getEpisodes($title)
->map(fn($episode) => (object) new PTN()->parse($episode))
->filter(fn($episode) =>
property_exists($episode, 'episode')
&& property_exists($episode, 'season')
&& null !== $episode->episode
&& null !== $episode->season
);
return $downloadedEpisodes->concat(
// Episodes in folder w/ the year
$this->mediaFiles
->getEpisodes(sprintf("%s (%s)", $title, $showTmdbData->year))
->map(fn($episode) => (object) new PTN()->parse($episode))
->filter(fn($episode) =>
property_exists($episode, 'episode')
&& property_exists($episode, 'season')
&& null !== $episode->episode
&& null !== $episode->season
)
);
}
private function episodeReleasedAfterMonitorCreated(
string|DateTimeImmutable $monitorStartDate,
TmdbEpisodeDto $episodeInShow
@@ -183,11 +159,11 @@ readonly class MonitorTvShowHandler implements HandlerInterface
]) !== null;
}
private function refreshData(Monitor $monitor, TmdbResult $showTmdbData)
private function refreshData(Monitor $monitor)
{
if (null === $monitor->getPoster()) {
$this->logger->info('> [MonitorTvShowHandler] Refreshing poster for "' . $monitor->getTitle() . '"');
$poster = $showTmdbData->poster;
$poster = $this->tmdb->tvshowDetails($monitor->getImdbId())->poster;
if (null !== $poster && "" !== $poster) {
$monitor->setPoster($poster);
}