Runs black

This commit is contained in:
Mouse Reeve
2021-03-08 08:49:10 -08:00
parent a07f955781
commit 70296e760b
198 changed files with 10239 additions and 8572 deletions

View File

@ -1,4 +1,4 @@
''' make a list of books!! '''
""" make a list of books!! """
from django.apps import apps
from django.db import models
@ -9,86 +9,89 @@ from .base_model import BookWyrmModel
from . import fields
CurationType = models.TextChoices('Curation', [
'closed',
'open',
'curated',
])
CurationType = models.TextChoices(
"Curation",
[
"closed",
"open",
"curated",
],
)
class List(OrderedCollectionMixin, BookWyrmModel):
''' a list of books '''
""" a list of books """
name = fields.CharField(max_length=100)
user = fields.ForeignKey(
'User', on_delete=models.PROTECT, activitypub_field='owner')
description = fields.TextField(
blank=True, null=True, activitypub_field='summary')
"User", on_delete=models.PROTECT, activitypub_field="owner"
)
description = fields.TextField(blank=True, null=True, activitypub_field="summary")
privacy = fields.PrivacyField()
curation = fields.CharField(
max_length=255,
default='closed',
choices=CurationType.choices
max_length=255, default="closed", choices=CurationType.choices
)
books = models.ManyToManyField(
'Edition',
"Edition",
symmetrical=False,
through='ListItem',
through_fields=('book_list', 'book'),
through="ListItem",
through_fields=("book_list", "book"),
)
activity_serializer = activitypub.BookList
def get_remote_id(self):
''' don't want the user to be in there in this case '''
return 'https://%s/list/%d' % (DOMAIN, self.id)
""" don't want the user to be in there in this case """
return "https://%s/list/%d" % (DOMAIN, self.id)
@property
def collection_queryset(self):
''' list of books for this shelf, overrides OrderedCollectionMixin '''
return self.books.filter(
listitem__approved=True
).all().order_by('listitem')
""" list of books for this shelf, overrides OrderedCollectionMixin """
return self.books.filter(listitem__approved=True).all().order_by("listitem")
class Meta:
''' default sorting '''
ordering = ('-updated_date',)
""" default sorting """
ordering = ("-updated_date",)
class ListItem(CollectionItemMixin, BookWyrmModel):
''' ok '''
""" ok """
book = fields.ForeignKey(
'Edition', on_delete=models.PROTECT, activitypub_field='object')
"Edition", on_delete=models.PROTECT, activitypub_field="object"
)
book_list = fields.ForeignKey(
'List', on_delete=models.CASCADE, activitypub_field='target')
"List", on_delete=models.CASCADE, activitypub_field="target"
)
user = fields.ForeignKey(
'User',
on_delete=models.PROTECT,
activitypub_field='actor'
"User", on_delete=models.PROTECT, activitypub_field="actor"
)
notes = fields.TextField(blank=True, null=True)
approved = models.BooleanField(default=True)
order = fields.IntegerField(blank=True, null=True)
endorsement = models.ManyToManyField('User', related_name='endorsers')
endorsement = models.ManyToManyField("User", related_name="endorsers")
activity_serializer = activitypub.Add
object_field = 'book'
collection_field = 'book_list'
object_field = "book"
collection_field = "book_list"
def save(self, *args, **kwargs):
''' create a notification too '''
""" create a notification too """
created = not bool(self.id)
super().save(*args, **kwargs)
list_owner = self.book_list.user
# create a notification if somoene ELSE added to a local user's list
if created and list_owner.local and list_owner != self.user:
model = apps.get_model('bookwyrm.Notification', require_ready=True)
model = apps.get_model("bookwyrm.Notification", require_ready=True)
model.objects.create(
user=list_owner,
related_user=self.user,
related_list_item=self,
notification_type='ADD',
notification_type="ADD",
)
class Meta:
''' an opinionated constraint! you can't put a book on a list twice '''
unique_together = ('book', 'book_list')
ordering = ('-created_date',)
""" an opinionated constraint! you can't put a book on a list twice """
unique_together = ("book", "book_list")
ordering = ("-created_date",)