from django.db import models
from time import sleep
+from django.utils.functional import cached_property
from django.utils.translation import gettext_lazy as _
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.utils import OverwriteStorage, sha1_file
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='')
tags['flac_sha1'] = self.source_sha1
return tags
+ @cached_property
+ def book(self):
+ slug = self.url.rstrip('/').rsplit('/', 1)[-1]
+ apidata = requests.get(f'https://wolnelektury.pl/api/books/{slug}/').json()
+ return apidata
+