Skip to content

Commit

Permalink
Use class instance for downloading
Browse files Browse the repository at this point in the history
  • Loading branch information
DerouineauNicolas committed Jun 18, 2024
1 parent dce65e4 commit a6d9e66
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 11 deletions.
1 change: 1 addition & 0 deletions backend/StreamServerApp/database_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
logger = logging.getLogger("root")



def delete_DB_Infos():
""" delete all videos, movies and series in the db
"""
Expand Down
14 changes: 7 additions & 7 deletions backend/StreamServerApp/media_management/cover_downloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
class cover_downloader:

def __init__(self):

self.auth_key = ""
env_auth_key = os.getenv('TMBD_KEY')
if not auth_key:
logger("cover downloader: no auth key")
if not env_auth_key:
logger.error("cover downloader: no auth key")
return
self.auth_key = env_auth_key

Expand All @@ -20,7 +20,7 @@ def __init__(self):

response = requests.get(configuration_url)
if response.status_code != 200:
logger("cover downloader: Failed to get configuration")
logger.error("cover downloader: Failed to get configuration")
return
value = response.json()

Expand All @@ -39,21 +39,21 @@ def download_cover(self, name, outputfile, is_tv_show=False):
name.replace(" ", "+"), self.auth_key)
response = requests.get(api_url)
if response.status_code != 200:
logger("cover downloader: Failed to search movie")
logger.error("cover downloader: Failed to search movie")
return -1
value = response.json()

poster_url = "{}/{}{}".format(self.base_url, self.poster_size,
value["results"][0]["poster_path"])
response = requests.get(poster_url)
if response.status_code != 200:
logger("cover downloader: Failed to download cover")
logger.error("cover downloader: Failed to download cover")
return -1

with open(outputfile, mode="wb") as file:
file.write(response.content)

return 1
else:
logger("cover downloader: No properly initialized")
logger.error("cover downloader: No properly initialized")
return -1
9 changes: 5 additions & 4 deletions backend/StreamServerApp/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import logging

logger = logging.getLogger("root")
cvdwnld = cover_downloader()


@shared_task
Expand All @@ -27,16 +28,16 @@ def get_subtitles_async(video_id, video_path, remote_url):

@shared_task
def download_cover_async(id, name, is_tv_show=False):
output_file = "/usr/src/static/{}.jpeg".format(name)
ret = cover_downloader.download_cover(name, output_file, is_tv_show)
output_file = "/usr/static/{}.jpeg".format(name)
ret = cvdwnld.download_cover(name, output_file, is_tv_show)
if ret:
video = Video.objects.get(id=id)
if is_tv_show:
serie = Series.objects.get(id=video.series_id)
serie.thumbnail = output_file
serie.thumbnail = "/static/{}.jpeg".format(name)
serie.save()
else:
video.thumbnail = output_file
video.thumbnail = "/static/{}.jpeg".format(name)
video.save()

return 0
17 changes: 17 additions & 0 deletions backend/StreamServerApp/tests/tests_cover_download.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from django.test import TestCase
import os
from unittest import TestCase, mock
from StreamServerApp.media_management.cover_downloader import cover_downloader
import optparse

class CoverDownloaderTest(TestCase):

def setUp(self):
pass

@mock.patch.dict(os.environ, {"TMBD_KEY": ""})
def test_ensureErrorWithInvalidToken(self):

cvdwnld = cover_downloader()
self.assertEqual(cvdwnld.download_cover("test", "/test/test.jpeg", True), -1)

1 change: 1 addition & 0 deletions docker-compose-debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ services:
volumes:
- ./backend/:/usr/src/app/
- ./Videos/:/usr/src/app/Videos
- static_volume:/usr/static/
- progress_volume:/usr/progress/
- torrent:/usr/torrent/:rw
- ./log/:/debug/
Expand Down
1 change: 1 addition & 0 deletions docker-compose-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ services:
- ./Videos/:/usr/src/app/Videos
- torrent:/usr/torrent/:rw
- progress_volume:/usr/progress/
- static_volume:/usr/static/
- ./log/:/debug/
env_file:
- .env
Expand Down

0 comments on commit a6d9e66

Please sign in to comment.