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 @@
''' like/fav/star a status '''
""" like/fav/star a status """
from django.apps import apps
from django.db import models
from django.utils import timezone
@ -9,50 +9,59 @@ from .base_model import BookWyrmModel
from . import fields
from .status import Status
class Favorite(ActivityMixin, BookWyrmModel):
''' fav'ing a post '''
""" fav'ing a post """
user = fields.ForeignKey(
'User', on_delete=models.PROTECT, activitypub_field='actor')
"User", on_delete=models.PROTECT, activitypub_field="actor"
)
status = fields.ForeignKey(
'Status', on_delete=models.PROTECT, activitypub_field='object')
"Status", on_delete=models.PROTECT, activitypub_field="object"
)
activity_serializer = activitypub.Like
@classmethod
def ignore_activity(cls, activity):
''' don't bother with incoming favs of unknown statuses '''
""" don't bother with incoming favs of unknown statuses """
return not Status.objects.filter(remote_id=activity.object).exists()
def save(self, *args, **kwargs):
''' update user active time '''
""" update user active time """
self.user.last_active_date = timezone.now()
self.user.save(broadcast=False)
super().save(*args, **kwargs)
if self.status.user.local and self.status.user != self.user:
notification_model = apps.get_model(
'bookwyrm.Notification', require_ready=True)
"bookwyrm.Notification", require_ready=True
)
notification_model.objects.create(
user=self.status.user,
notification_type='FAVORITE',
notification_type="FAVORITE",
related_user=self.user,
related_status=self.status
related_status=self.status,
)
def delete(self, *args, **kwargs):
''' delete and delete notifications '''
""" delete and delete notifications """
# check for notification
if self.status.user.local:
notification_model = apps.get_model(
'bookwyrm.Notification', require_ready=True)
"bookwyrm.Notification", require_ready=True
)
notification = notification_model.objects.filter(
user=self.status.user, related_user=self.user,
related_status=self.status, notification_type='FAVORITE'
user=self.status.user,
related_user=self.user,
related_status=self.status,
notification_type="FAVORITE",
).first()
if notification:
notification.delete()
super().delete(*args, **kwargs)
class Meta:
''' can't fav things twice '''
unique_together = ('user', 'status')
""" can't fav things twice """
unique_together = ("user", "status")