From 1f0d29b92eb05de846b16220cb356024d01bcf24 Mon Sep 17 00:00:00 2001 From: Brock H Caldwell Date: Thu, 1 May 2025 16:10:38 -0500 Subject: [PATCH] wip: starting work --- bash/app/wget_download.sh | 2 +- src/Controller/DownloadController.php | 21 +++++++++++++++++++ .../Repository/DownloadRepository.php | 3 ++- .../components/ActiveDownloadList.html.twig | 7 ++++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/bash/app/wget_download.sh b/bash/app/wget_download.sh index 168c033..dafd1ac 100755 --- a/bash/app/wget_download.sh +++ b/bash/app/wget_download.sh @@ -1,2 +1,2 @@ # $1 = movies/tvshows/etc, $2 = title of media, $3 = URL of download -cd /var/download/${1} && if [ ! -d "${2}" ]; then mkdir "${2}"; fi && cd "${2}" && wget "${3}" +cd /var/download/${1} && if [ ! -d "${2}" ]; then mkdir "${2}"; fi && cd "${2}" && wget -c "${3}" diff --git a/src/Controller/DownloadController.php b/src/Controller/DownloadController.php index 18579e4..88acdc3 100644 --- a/src/Controller/DownloadController.php +++ b/src/Controller/DownloadController.php @@ -37,4 +37,25 @@ class DownloadController extends AbstractController return $this->json(['status' => 200, 'message' => 'Added to Queue']); } + + #[Route('/download/test', name: 'app_download_test', methods: ['GET'])] + public function downloadTest( + + ): Response { + $download = $this->downloadRepository->find(32); + try { + $this->bus->dispatch(new \App\Download\Action\Command\DownloadMediaCommand( + $download->getUrl(), + $download->getTitle(), + $download->getFilename(), + $download->getMediaType(), + $download->getImdbId(), + $download->getId(), + )); + } catch (\Throwable $exception) { + return $this->json(['error' => $exception->getMessage()], Response::HTTP_INTERNAL_SERVER_ERROR); + } + + return $this->json(['status' => 200, 'message' => 'Added to Queue']); + } } diff --git a/src/Download/Framework/Repository/DownloadRepository.php b/src/Download/Framework/Repository/DownloadRepository.php index faa3e0c..7ee24d1 100644 --- a/src/Download/Framework/Repository/DownloadRepository.php +++ b/src/Download/Framework/Repository/DownloadRepository.php @@ -41,7 +41,7 @@ class DownloadRepository extends ServiceEntityRepository $firstResult = ($pageNumber - 1) * $perPage; $query = $this->createQueryBuilder('d') ->andWhere('d.status IN (:statuses)') - ->orderBy('d.id', 'DESC') + ->orderBy('d.id', 'ASC') ->setParameter('statuses', ['New', 'In Progress']) ->setFirstResult($firstResult) ->setMaxResults($perPage) @@ -66,6 +66,7 @@ class DownloadRepository extends ServiceEntityRepository ->setImdbId($imdbId) ->setMediaType($mediaType) ->setBatchId($batchId) + ->setProgress(0) ->setStatus($status); $this->getEntityManager()->persist($download); diff --git a/templates/components/ActiveDownloadList.html.twig b/templates/components/ActiveDownloadList.html.twig index 908de9e..b0de24f 100644 --- a/templates/components/ActiveDownloadList.html.twig +++ b/templates/components/ActiveDownloadList.html.twig @@ -17,7 +17,7 @@ {% for download in this.getDownloads() %} - {{ download.title }} + {{ download.filename }} @@ -26,6 +26,11 @@ {% endfor %} + + + View all active downloads + + {% else %}