From 6eabd357bc96f9c952e759852b1a19d2c5cf6b83 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Thu, 18 Mar 2021 14:58:48 +0100 Subject: [PATCH] Support for projects without icons. --- src/archive/models.py | 10 ++++++++++ src/archive/tasks.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/archive/models.py b/src/archive/models.py index 869641c..1fc033b 100644 --- a/src/archive/models.py +++ b/src/archive/models.py @@ -1,9 +1,11 @@ import io import json import os.path +from urllib.parse import urljoin from django.db import models from time import sleep +from django.contrib.sites.models import Site from django.utils.functional import cached_property from django.utils.timezone import now from django.utils.translation import gettext_lazy as _ @@ -47,6 +49,14 @@ class Project(models.Model): " finansowanego przez %s" % self.sponsors if self.sponsors else "", ) + def get_icon_url(self): + if not self.icon: + return '' + return urljoin( + 'https://' + Site.objects.get_current().domain, + self.icon.url + ) + def source_upload_to(intance, filename): return os.path.join(FILES_SAVE_PATH, filename) # FIXME: what about really long file names? diff --git a/src/archive/tasks.py b/src/archive/tasks.py index 17d98cc..9d236db 100644 --- a/src/archive/tasks.py +++ b/src/archive/tasks.py @@ -83,7 +83,7 @@ class AudioFormatTask(Task): 'project': { 'description': audiobook.project.get_description(), - 'icon': audiobook.project.icon.url, + 'icon': audiobook.project.get_icon_url(), } } with open(path, 'rb') as f: -- 2.20.1