From 9e5c7053e9f30b25aa5d976706dd0681a9c98ffe Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 18 Jun 2021 14:29:24 -0700 Subject: [PATCH] More pylint fixes --- .github/workflows/pylint.yml | 2 +- bookwyrm/activitypub/note.py | 2 ++ bookwyrm/activitypub/ordered_collection.py | 3 +++ bookwyrm/activitypub/person.py | 2 ++ bookwyrm/activitypub/response.py | 1 + bookwyrm/connectors/connector_manager.py | 8 ++++---- bookwyrm/connectors/self_connector.py | 1 + bookwyrm/importers/importer.py | 4 ++-- bookwyrm/models/fields.py | 2 ++ bookwyrm/models/relationship.py | 2 +- bookwyrm/utils/__init__.py | 1 + bookwyrm/views/status.py | 2 +- 12 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index ddacfb416..0286d06e1 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -20,5 +20,5 @@ jobs: pip install pylint - name: Analysing the code with pylint run: | - pylint bookwyrm/ --ignore=migrations,__init__ --disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406 + pylint bookwyrm/ --ignore=migrations,tests --disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401 diff --git a/bookwyrm/activitypub/note.py b/bookwyrm/activitypub/note.py index ea2e92b6e..916da2d0e 100644 --- a/bookwyrm/activitypub/note.py +++ b/bookwyrm/activitypub/note.py @@ -19,6 +19,7 @@ class Tombstone(ActivityObject): return model.find_existing_by_remote_id(self.id) +# pylint: disable=invalid-name @dataclass(init=False) class Note(ActivityObject): """Note activity""" @@ -52,6 +53,7 @@ class GeneratedNote(Note): type: str = "GeneratedNote" +# pylint: disable=invalid-name @dataclass(init=False) class Comment(Note): """like a note but with a book""" diff --git a/bookwyrm/activitypub/ordered_collection.py b/bookwyrm/activitypub/ordered_collection.py index e3a83be8e..32e37c996 100644 --- a/bookwyrm/activitypub/ordered_collection.py +++ b/bookwyrm/activitypub/ordered_collection.py @@ -5,6 +5,7 @@ from typing import List from .base_activity import ActivityObject +# pylint: disable=invalid-name @dataclass(init=False) class OrderedCollection(ActivityObject): """structure of an ordered collection activity""" @@ -17,6 +18,7 @@ class OrderedCollection(ActivityObject): type: str = "OrderedCollection" +# pylint: disable=invalid-name @dataclass(init=False) class OrderedCollectionPrivate(OrderedCollection): """an ordered collection with privacy settings""" @@ -41,6 +43,7 @@ class BookList(OrderedCollectionPrivate): type: str = "BookList" +# pylint: disable=invalid-name @dataclass(init=False) class OrderedCollectionPage(ActivityObject): """structure of an ordered collection activity""" diff --git a/bookwyrm/activitypub/person.py b/bookwyrm/activitypub/person.py index d5f379461..174ead616 100644 --- a/bookwyrm/activitypub/person.py +++ b/bookwyrm/activitypub/person.py @@ -6,6 +6,7 @@ from .base_activity import ActivityObject from .image import Image +# pylint: disable=invalid-name @dataclass(init=False) class PublicKey(ActivityObject): """public key block""" @@ -15,6 +16,7 @@ class PublicKey(ActivityObject): type: str = "PublicKey" +# pylint: disable=invalid-name @dataclass(init=False) class Person(ActivityObject): """actor activitypub json""" diff --git a/bookwyrm/activitypub/response.py b/bookwyrm/activitypub/response.py index 07f39c7e1..e480b85df 100644 --- a/bookwyrm/activitypub/response.py +++ b/bookwyrm/activitypub/response.py @@ -1,3 +1,4 @@ +""" ActivityPub-specific json response wrapper """ from django.http import JsonResponse from .base_activity import ActivityEncoder diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index 040e7fa5b..1a615c9b2 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -38,17 +38,17 @@ def search(query, min_confidence=0.1, return_first=False): # Search on ISBN try: result_set = connector.isbn_search(isbn) - except Exception as e: # pylint: disable=broad-except - logger.exception(e) + except Exception as err: # pylint: disable=broad-except + logger.exception(err) # if this fails, we can still try regular search # if no isbn search results, we fallback to generic search if not result_set: try: result_set = connector.search(query, min_confidence=min_confidence) - except Exception as e: # pylint: disable=broad-except + except Exception as err: # pylint: disable=broad-except # we don't want *any* error to crash the whole search page - logger.exception(e) + logger.exception(err) continue if return_first and result_set: diff --git a/bookwyrm/connectors/self_connector.py b/bookwyrm/connectors/self_connector.py index 5223390d8..930b7cb3d 100644 --- a/bookwyrm/connectors/self_connector.py +++ b/bookwyrm/connectors/self_connector.py @@ -114,6 +114,7 @@ class Connector(AbstractConnector): def search_identifiers(query, *filters): """tries remote_id, isbn; defined as dedupe fields on the model""" + # pylint: disable=W0212 or_filters = [ {f.name: query} for f in models.Edition._meta.get_fields() diff --git a/bookwyrm/importers/importer.py b/bookwyrm/importers/importer.py index 89c62e735..203db0343 100644 --- a/bookwyrm/importers/importer.py +++ b/bookwyrm/importers/importer.py @@ -67,8 +67,8 @@ def import_data(source, job_id): for item in job.items.all(): try: item.resolve() - except Exception as e: # pylint: disable=broad-except - logger.exception(e) + except Exception as err: # pylint: disable=broad-except + logger.exception(err) item.fail_reason = "Error loading book" item.save() continue diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 379323b90..4ec46504c 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -202,6 +202,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): *args, max_length=255, choices=PrivacyLevels.choices, default="public" ) + # pylint: disable=invalid-name def set_field_from_activity(self, instance, data): to = data.to cc = data.cc @@ -220,6 +221,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): if hasattr(instance, "mention_users"): mentions = [u.remote_id for u in instance.mention_users.all()] # this is a link to the followers list + # pylint: disable=protected-access followers = instance.user.__class__._meta.get_field( "followers" ).field_to_activity(instance.user.followers) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index 12f4c51af..edb89d13c 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -99,7 +99,7 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): status = "follow_request" activity_serializer = activitypub.Follow - def save(self, *args, broadcast=True, **kwargs): + def save(self, *args, broadcast=True, **kwargs): # pylint: disable=arguments-differ """make sure the follow or block relationship doesn't already exist""" # if there's a request for a follow that already exists, accept it # without changing the local database state diff --git a/bookwyrm/utils/__init__.py b/bookwyrm/utils/__init__.py index 9dba83620..f15f59aaf 100644 --- a/bookwyrm/utils/__init__.py +++ b/bookwyrm/utils/__init__.py @@ -1 +1,2 @@ +""" useful regex """ from .regex import USERNAME diff --git a/bookwyrm/views/status.py b/bookwyrm/views/status.py index 7ac770b94..61b6dc7aa 100644 --- a/bookwyrm/views/status.py +++ b/bookwyrm/views/status.py @@ -133,7 +133,7 @@ def find_mentions(content): """detect @mentions in raw status content""" if not content: return - for match in re.finditer(rhandle_reading_status, egex.STRICT_USERNAME, content): + for match in re.finditer(regex.STRICT_USERNAME, content): username = match.group().strip().split("@")[1:] if len(username) == 1: # this looks like a local user (@user), fill in the domain