Add project info flac.
[audio.git] / src / archive / models.py
index 03cd816..fe6cc5c 100644 (file)
@@ -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 _
@@ -29,6 +31,8 @@ class Project(models.Model):
     sponsors = models.TextField(blank=True, null=True, verbose_name="Sponsorzy")
     description = models.TextField(blank=True, verbose_name="Opis")
     youtube = models.ForeignKey('youtube.YouTube', models.PROTECT)
+    icon = models.FileField(upload_to='archive/project', blank=True, null=True)
+    info_flac = models.FileField(upload_to='archive/info_flac', blank=True)
 
     class Meta:
         verbose_name = _("project")
@@ -46,15 +50,13 @@ class Project(models.Model):
             " finansowanego przez %s" % self.sponsors if self.sponsors else "",
         )
 
-
-class Piece(models.Model):
-    name = models.CharField(max_length=255)
-    source_file = models.FileField(upload_to='piece')
-    is_outro = models.BooleanField(default=False)
-    min_audiobook_duration = models.IntegerField(default=0)
-
-    def __str__(self):
-        return self.name
+    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):