diff --git a/audio/choices.py b/audio/choices.py index b40b8f4..129bc53 100644 --- a/audio/choices.py +++ b/audio/choices.py @@ -8,7 +8,7 @@ LICENSE_CHOICES = [ ] -def get_image_license_info(x): +def get_license_info(x): if x == 1: return ('Public Domain', 'https://en.wikipedia.org/wiki/Public_domain') if x == 2: diff --git a/audio/forms.py b/audio/forms.py index 4c26409..372c891 100644 --- a/audio/forms.py +++ b/audio/forms.py @@ -7,9 +7,11 @@ class FeedForm(forms.ModelForm): class Meta: model = Feed fields = [ - 'title', 'author', 'description', - 'image_title', 'image_attribution', 'image_attribution_url', - 'original_image_url', 'image_license', + 'title', 'author', 'ebook_title', 'ebook_url', + 'author_url', 'translator', 'translator_url', + 'intro_author', 'intro_author_url', 'license', 'license_jurisdiction', + 'description', 'image_title', 'image_attribution', + 'image_attribution_url', 'original_image_url', 'image_license', 'image_license_jurisdiction', 'image' ] diff --git a/audio/migrations/0017_auto_20210317_1036.py b/audio/migrations/0017_auto_20210317_1036.py new file mode 100644 index 0000000..e9238c8 --- /dev/null +++ b/audio/migrations/0017_auto_20210317_1036.py @@ -0,0 +1,53 @@ +# Generated by Django 3.1.7 on 2021-03-17 17:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('audio', '0016_auto_20210316_1624'), + ] + + operations = [ + migrations.AddField( + model_name='feed', + name='author_url', + field=models.URLField(default='', max_length=255), + ), + migrations.AddField( + model_name='feed', + name='ebook_url', + field=models.URLField(default='', max_length=255), + ), + migrations.AddField( + model_name='feed', + name='intro_author', + field=models.CharField(blank=True, max_length=255), + ), + migrations.AddField( + model_name='feed', + name='intro_author_url', + field=models.URLField(blank=True, max_length=255), + ), + migrations.AddField( + model_name='feed', + name='license', + field=models.SmallIntegerField(choices=[(1, 'Public Domain'), (2, 'Unknown'), (3, 'CC BY-SA 2.5'), (4, 'CC BY-SA 3.0'), (5, 'CC BY 3.0'), (6, 'CC BY 1.0')], default=1), + ), + migrations.AddField( + model_name='feed', + name='license_jurisdiction', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='feed', + name='translator', + field=models.CharField(blank=True, max_length=255), + ), + migrations.AddField( + model_name='feed', + name='translator_url', + field=models.URLField(blank=True, max_length=255), + ), + ] diff --git a/audio/migrations/0018_auto_20210317_1043.py b/audio/migrations/0018_auto_20210317_1043.py new file mode 100644 index 0000000..0d1a9d8 --- /dev/null +++ b/audio/migrations/0018_auto_20210317_1043.py @@ -0,0 +1,38 @@ +# Generated by Django 3.1.7 on 2021-03-17 17:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('audio', '0017_auto_20210317_1036'), + ] + + operations = [ + migrations.AlterField( + model_name='feed', + name='intro_author', + field=models.CharField(default=None, max_length=255), + ), + migrations.AlterField( + model_name='feed', + name='intro_author_url', + field=models.URLField(default=None, max_length=255), + ), + migrations.AlterField( + model_name='feed', + name='license_jurisdiction', + field=models.TextField(blank=True, default=None), + ), + migrations.AlterField( + model_name='feed', + name='translator', + field=models.CharField(default=None, max_length=255), + ), + migrations.AlterField( + model_name='feed', + name='translator_url', + field=models.URLField(default=None, max_length=255), + ), + ] diff --git a/audio/migrations/0019_auto_20210317_1046.py b/audio/migrations/0019_auto_20210317_1046.py new file mode 100644 index 0000000..70dd860 --- /dev/null +++ b/audio/migrations/0019_auto_20210317_1046.py @@ -0,0 +1,28 @@ +# Generated by Django 3.1.7 on 2021-03-17 17:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('audio', '0018_auto_20210317_1043'), + ] + + operations = [ + migrations.AlterField( + model_name='episode', + name='image_license_jurisdiction', + field=models.TextField(default='(no jurisdiction specified)'), + ), + migrations.AlterField( + model_name='feed', + name='image_license_jurisdiction', + field=models.TextField(default='(no jurisdiction specified)'), + ), + migrations.AlterField( + model_name='feed', + name='license_jurisdiction', + field=models.TextField(blank=True, default='(no jurisdiction specified)'), + ), + ] diff --git a/audio/migrations/0020_auto_20210317_1048.py b/audio/migrations/0020_auto_20210317_1048.py new file mode 100644 index 0000000..2dee770 --- /dev/null +++ b/audio/migrations/0020_auto_20210317_1048.py @@ -0,0 +1,33 @@ +# Generated by Django 3.1.7 on 2021-03-17 17:48 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('audio', '0019_auto_20210317_1046'), + ] + + operations = [ + migrations.AlterField( + model_name='feed', + name='intro_author', + field=models.CharField(blank=True, max_length=255), + ), + migrations.AlterField( + model_name='feed', + name='intro_author_url', + field=models.URLField(blank=True, max_length=255), + ), + migrations.AlterField( + model_name='feed', + name='translator', + field=models.CharField(blank=True, max_length=255), + ), + migrations.AlterField( + model_name='feed', + name='translator_url', + field=models.URLField(blank=True, max_length=255), + ), + ] diff --git a/audio/migrations/0021_feed_ebook_title.py b/audio/migrations/0021_feed_ebook_title.py new file mode 100644 index 0000000..7e4c801 --- /dev/null +++ b/audio/migrations/0021_feed_ebook_title.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.7 on 2021-03-17 18:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('audio', '0020_auto_20210317_1048'), + ] + + operations = [ + migrations.AddField( + model_name='feed', + name='ebook_title', + field=models.URLField(default='', max_length=255), + ), + ] diff --git a/audio/migrations/0022_auto_20210317_1105.py b/audio/migrations/0022_auto_20210317_1105.py new file mode 100644 index 0000000..f368806 --- /dev/null +++ b/audio/migrations/0022_auto_20210317_1105.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.7 on 2021-03-17 18:05 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('audio', '0021_feed_ebook_title'), + ] + + operations = [ + migrations.AlterField( + model_name='feed', + name='ebook_title', + field=models.CharField(default='', max_length=255), + ), + ] diff --git a/audio/models.py b/audio/models.py index f3a3d86..b45d8a1 100644 --- a/audio/models.py +++ b/audio/models.py @@ -3,7 +3,7 @@ from tp.models import UUIDAsIDModel from django.contrib.auth.models import User from django.utils.text import slugify from tp.storage_backends import PublicImageStorage, PublicMP3Storage -from .choices import LICENSE_CHOICES, get_image_license_info +from .choices import LICENSE_CHOICES, get_license_info import string, random @@ -37,15 +37,36 @@ class Feed(UUIDAsIDModel): image_attribution = models.CharField(max_length=255, default='') image_attribution_url = models.URLField(max_length=255, blank=True) original_image_url = models.URLField(max_length=255, default='') - image_license_jurisdiction = models.TextField(null=False, default='') + image_license_jurisdiction = models.TextField(null=False, default='(no jurisdiction specified)') @property def image_license_name(self): - return(get_image_license_info(self.image_license))[0] + return(get_license_info(self.image_license))[0] @property def image_license_url(self): - return(get_image_license_info(self.image_license))[1] + return(get_license_info(self.image_license))[1] + + author_url = models.URLField(max_length=255, default='') + ebook_title = models.CharField(max_length=255, default='') + ebook_url = models.URLField(max_length=255, default='') + translator = models.CharField(max_length=255, blank=True) + translator_url = models.URLField(max_length=255, blank=True) + intro_author = models.CharField(max_length=255, blank=True) + intro_author_url = models.URLField(max_length=255, blank=True) + license_jurisdiction = models.TextField(blank=True, default='(no jurisdiction specified)') + license = models.SmallIntegerField( + choices=LICENSE_CHOICES, + default=1, + ) + + @property + def license_name(self): + return(get_license_info(self.image_license))[0] + + @property + def license_url(self): + return(get_license_info(self.image_license))[1] def save(self, *args, **kwargs): if not self.slug: @@ -79,15 +100,15 @@ class Episode(UUIDAsIDModel): image_attribution = models.CharField(max_length=255, default='') image_attribution_url = models.URLField(max_length=255, blank=True) original_image_url = models.URLField(max_length=255, default='') - image_license_jurisdiction = models.TextField(null=False, default='') + image_license_jurisdiction = models.TextField(null=False, default='(no jurisdiction specified)') @property def image_license_name(self): - return(get_image_license_info(self.image_license))[0] + return(get_license_info(self.image_license))[0] @property def image_license_url(self): - return(get_image_license_info(self.image_license))[1] + return(get_license_info(self.image_license))[1] mp3 = models.FileField( storage=PublicMP3Storage(),