diff --git a/bookwyrm/activitypub/note.py b/bookwyrm/activitypub/note.py index bea275d16..a739eafa1 100644 --- a/bookwyrm/activitypub/note.py +++ b/bookwyrm/activitypub/note.py @@ -13,9 +13,9 @@ class Tombstone(ActivityObject): type: str = "Tombstone" - def to_model(self, *args, **kwargs):# pylint: disable=unused-argument - ''' this should never really get serialized, just searched for ''' - model = apps.get_model('bookwyrm.Status') + def to_model(self, *args, **kwargs): # pylint: disable=unused-argument + """ this should never really get serialized, just searched for """ + model = apps.get_model("bookwyrm.Status") return model.find_existing_by_remote_id(self.id) diff --git a/bookwyrm/migrations/0046_reviewrating.py b/bookwyrm/migrations/0046_reviewrating.py index e410ba91f..8d1490042 100644 --- a/bookwyrm/migrations/0046_reviewrating.py +++ b/bookwyrm/migrations/0046_reviewrating.py @@ -6,44 +6,61 @@ from django.db.models import Q import django.db.models.deletion from psycopg2.extras import execute_values + def convert_review_rating(app_registry, schema_editor): - ''' take rating type Reviews and convert them to ReviewRatings ''' + """ take rating type Reviews and convert them to ReviewRatings """ db_alias = schema_editor.connection.alias - reviews = app_registry.get_model( - 'bookwyrm', 'Review' - ).objects.using(db_alias).filter( - Q(content__isnull=True) | Q(content='') + reviews = ( + app_registry.get_model("bookwyrm", "Review") + .objects.using(db_alias) + .filter(Q(content__isnull=True) | Q(content="")) ) with connection.cursor() as cursor: values = [(r.id,) for r in reviews] - execute_values(cursor, ''' + execute_values( + cursor, + """ INSERT INTO bookwyrm_reviewrating(review_ptr_id) -VALUES %s''', values) +VALUES %s""", + values, + ) + def unconvert_review_rating(app_registry, schema_editor): - ''' undo the conversion from ratings back to reviews''' + """ undo the conversion from ratings back to reviews""" # All we need to do to revert this is drop the table, which Django will do # on its own, as long as we have a valid reverse function. So, this is a # no-op function so Django will do its thing + class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0045_auto_20210210_2114'), + ("bookwyrm", "0045_auto_20210210_2114"), ] operations = [ migrations.CreateModel( - name='ReviewRating', + name="ReviewRating", fields=[ - ('review_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='bookwyrm.Review')), + ( + "review_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="bookwyrm.Review", + ), + ), ], options={ - 'abstract': False, + "abstract": False, }, - bases=('bookwyrm.review',), + bases=("bookwyrm.review",), ), migrations.RunPython(convert_review_rating, unconvert_review_rating), ] diff --git a/bookwyrm/migrations/0047_merge_20210228_1839.py b/bookwyrm/migrations/0047_merge_20210228_1839.py index 7e410761a..4be39e56f 100644 --- a/bookwyrm/migrations/0047_merge_20210228_1839.py +++ b/bookwyrm/migrations/0047_merge_20210228_1839.py @@ -6,9 +6,8 @@ from django.db import migrations class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0046_reviewrating'), - ('bookwyrm', '0046_sitesettings_privacy_policy'), + ("bookwyrm", "0046_reviewrating"), + ("bookwyrm", "0046_sitesettings_privacy_policy"), ] - operations = [ - ] + operations = [] diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 9378772c6..80f2b593a 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -295,11 +295,11 @@ class Review(Status): class ReviewRating(Review): - ''' a subtype of review that only contains a rating ''' + """ a subtype of review that only contains a rating """ + def save(self, *args, **kwargs): if not self.rating: - raise ValueError( - 'ReviewRating object must include a numerical rating') + raise ValueError("ReviewRating object must include a numerical rating") return super().save(*args, **kwargs) @property @@ -307,7 +307,7 @@ class ReviewRating(Review): return 'Rated "{}": {:d} stars'.format(self.book.title, self.rating) activity_serializer = activitypub.Rating - pure_type = 'Note' + pure_type = "Note" class Boost(ActivityMixin, Status):