mirror of
https://github.com/TrentSPalmer/trentpalmerdotorg.git
synced 2024-10-31 18:18:45 -07:00
add license/attribution for ebooks to feeds
This commit is contained in:
parent
0929fbf171
commit
27893d3afa
@ -8,7 +8,7 @@ LICENSE_CHOICES = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def get_image_license_info(x):
|
def get_license_info(x):
|
||||||
if x == 1:
|
if x == 1:
|
||||||
return ('Public Domain', 'https://en.wikipedia.org/wiki/Public_domain')
|
return ('Public Domain', 'https://en.wikipedia.org/wiki/Public_domain')
|
||||||
if x == 2:
|
if x == 2:
|
||||||
|
@ -7,9 +7,11 @@ class FeedForm(forms.ModelForm):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = Feed
|
model = Feed
|
||||||
fields = [
|
fields = [
|
||||||
'title', 'author', 'description',
|
'title', 'author', 'ebook_title', 'ebook_url',
|
||||||
'image_title', 'image_attribution', 'image_attribution_url',
|
'author_url', 'translator', 'translator_url',
|
||||||
'original_image_url', 'image_license',
|
'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'
|
'image_license_jurisdiction', 'image'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
53
audio/migrations/0017_auto_20210317_1036.py
Normal file
53
audio/migrations/0017_auto_20210317_1036.py
Normal file
@ -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),
|
||||||
|
),
|
||||||
|
]
|
38
audio/migrations/0018_auto_20210317_1043.py
Normal file
38
audio/migrations/0018_auto_20210317_1043.py
Normal file
@ -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),
|
||||||
|
),
|
||||||
|
]
|
28
audio/migrations/0019_auto_20210317_1046.py
Normal file
28
audio/migrations/0019_auto_20210317_1046.py
Normal file
@ -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)'),
|
||||||
|
),
|
||||||
|
]
|
33
audio/migrations/0020_auto_20210317_1048.py
Normal file
33
audio/migrations/0020_auto_20210317_1048.py
Normal file
@ -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),
|
||||||
|
),
|
||||||
|
]
|
18
audio/migrations/0021_feed_ebook_title.py
Normal file
18
audio/migrations/0021_feed_ebook_title.py
Normal file
@ -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),
|
||||||
|
),
|
||||||
|
]
|
18
audio/migrations/0022_auto_20210317_1105.py
Normal file
18
audio/migrations/0022_auto_20210317_1105.py
Normal file
@ -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),
|
||||||
|
),
|
||||||
|
]
|
@ -3,7 +3,7 @@ from tp.models import UUIDAsIDModel
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
from tp.storage_backends import PublicImageStorage, PublicMP3Storage
|
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
|
import string, random
|
||||||
|
|
||||||
|
|
||||||
@ -37,15 +37,36 @@ class Feed(UUIDAsIDModel):
|
|||||||
image_attribution = models.CharField(max_length=255, default='')
|
image_attribution = models.CharField(max_length=255, default='')
|
||||||
image_attribution_url = models.URLField(max_length=255, blank=True)
|
image_attribution_url = models.URLField(max_length=255, blank=True)
|
||||||
original_image_url = models.URLField(max_length=255, default='')
|
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
|
@property
|
||||||
def image_license_name(self):
|
def image_license_name(self):
|
||||||
return(get_image_license_info(self.image_license))[0]
|
return(get_license_info(self.image_license))[0]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def image_license_url(self):
|
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):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
@ -79,15 +100,15 @@ class Episode(UUIDAsIDModel):
|
|||||||
image_attribution = models.CharField(max_length=255, default='')
|
image_attribution = models.CharField(max_length=255, default='')
|
||||||
image_attribution_url = models.URLField(max_length=255, blank=True)
|
image_attribution_url = models.URLField(max_length=255, blank=True)
|
||||||
original_image_url = models.URLField(max_length=255, default='')
|
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
|
@property
|
||||||
def image_license_name(self):
|
def image_license_name(self):
|
||||||
return(get_image_license_info(self.image_license))[0]
|
return(get_license_info(self.image_license))[0]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def image_license_url(self):
|
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(
|
mp3 = models.FileField(
|
||||||
storage=PublicMP3Storage(),
|
storage=PublicMP3Storage(),
|
||||||
|
Loading…
Reference in New Issue
Block a user