from django_pglocks import advisory_lock
import requests
from archive.constants import status
-from archive.settings import FILES_SAVE_PATH, ADVERT, LICENSE, ORGANIZATION, PROJECT
+from archive.settings import FILES_SAVE_PATH, ADVERT, ORGANIZATION, PROJECT
from archive.utils import OverwriteStorage, sha1_file
+class License(models.Model):
+ uri = models.CharField(max_length=255, unique=True)
+ name = models.CharField(max_length=255)
+
+ def __str__(self):
+ return self.name
+
+
class Project(models.Model):
""" an audiobook project, needed for specyfing sponsors """
url = models.URLField(max_length=255, verbose_name=_('book url'))
translator = models.CharField(max_length=255, null=True, blank=True, verbose_name=_('translator'))
modified = models.DateTimeField(null=True, editable=False)
+ license = models.ForeignKey(License, models.PROTECT, null=True, blank=True, verbose_name=_('license'))
# publishing process
mp3_status = models.SmallIntegerField(null=True, editable=False, choices=status.choices)
youtube_status = models.SmallIntegerField(null=True, editable=False, choices=status.choices)
youtube_task = models.CharField(max_length=64, null=True, editable=False)
youtube_tags = models.TextField(null=True, editable=False)
- youtube_file = models.FileField(null=True, upload_to='archive/final', storage=OverwriteStorage(), editable=False)
youtube_published_tags = models.TextField(null=True, editable=False)
youtube_published = models.DateTimeField(null=True, editable=False)
youtube_id = models.CharField(max_length=255, blank=True, default='')
if self.translator:
title += ' (tłum. %s)' % self.translator
- copyright = "%s %s. Licensed to the public under %s verify at %s" % (
- self.date, ORGANIZATION, LICENSE, self.url)
+ copyright = "%s %s." % (
+ self.date, ORGANIZATION)
+ if self.license:
+ copyright += " Licensed to the public under %s verify at %s" % (
+ self.license.uri, self.url)
comment = "\n".join((
self.project.get_description(),
'date': self.date,
'genre': 'Speech',
'language': 'pol',
- 'license': LICENSE,
'organization': ORGANIZATION,
'title': title,
'project': self.project.name,
}
+ if self.license:
+ tags['license'] = self.license.uri
if self.project.sponsors:
tags['funded_by'] = self.project.sponsors