From f5d6a18ce0acea6a6ece14e09096c110cd49da21 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 2 Jul 2022 10:49:57 -0700 Subject: [PATCH 1/5] Alphabetize list of software options in federated instances list --- bookwyrm/views/admin/federation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/views/admin/federation.py b/bookwyrm/views/admin/federation.py index cb05b779e..9c413ec53 100644 --- a/bookwyrm/views/admin/federation.py +++ b/bookwyrm/views/admin/federation.py @@ -60,7 +60,7 @@ class Federation(View): "sort": sort, "software_options": models.FederatedServer.objects.values_list( "application_type", flat=True - ).distinct(), + ).distinct().order_by("application_type"), "form": forms.ServerForm(), } return TemplateResponse(request, "settings/federation/instance_list.html", data) From f68c80dfff0ba6d0223c0d834849156b3f65ee36 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 2 Jul 2022 10:50:17 -0700 Subject: [PATCH 2/5] Adds line length and import-error to .pylintrc --- .pylintrc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.pylintrc b/.pylintrc index 7f92d0168..464638853 100644 --- a/.pylintrc +++ b/.pylintrc @@ -3,4 +3,7 @@ ignore=migrations load-plugins=pylint.extensions.no_self_use [MESSAGES CONTROL] -disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401,R0801,C3001 +disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401,R0801,C3001,import-error + +[FORMAT] +max-line-length=88 From e0a67f5e18ec5efb594772aee4ff825e5c23044f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 2 Jul 2022 11:06:48 -0700 Subject: [PATCH 3/5] Uses := syntax in user admin view I learned this! It's cool. --- bookwyrm/views/admin/user_admin.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/bookwyrm/views/admin/user_admin.py b/bookwyrm/views/admin/user_admin.py index df716d2cb..f1bb87a88 100644 --- a/bookwyrm/views/admin/user_admin.py +++ b/bookwyrm/views/admin/user_admin.py @@ -22,19 +22,16 @@ class UserAdminList(View): def get(self, request, status="local"): """list of users""" filters = {} - server = request.GET.get("server") - if server: + if server := request.GET.get("server"): server = models.FederatedServer.objects.filter(server_name=server).first() filters["federated_server"] = server filters["federated_server__isnull"] = False - username = request.GET.get("username") - if username: + if username := request.GET.get("username"): filters["username__icontains"] = username scope = request.GET.get("scope") if scope and scope == "local": filters["local"] = True - email = request.GET.get("email") - if email: + if email := request.GET.get("email"): filters["email__endswith"] = email filters["local"] = status == "local" From 13e23a868d6180ca28cc02204627c8f89ad19fe2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 2 Jul 2022 11:07:11 -0700 Subject: [PATCH 4/5] Adds instance name filter to federated instance list view This lets you look for a specific server in your (probably very long) instance list. --- .../templates/settings/federation/instance_filters.html | 1 + bookwyrm/views/admin/federation.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/federation/instance_filters.html b/bookwyrm/templates/settings/federation/instance_filters.html index 46ae0c1cf..d6af7e91f 100644 --- a/bookwyrm/templates/settings/federation/instance_filters.html +++ b/bookwyrm/templates/settings/federation/instance_filters.html @@ -2,6 +2,7 @@ {% block filter_fields %} {% include 'settings/federation/software_filter.html' %} +{% include 'settings/users/server_filter.html' %} {% endblock %} diff --git a/bookwyrm/views/admin/federation.py b/bookwyrm/views/admin/federation.py index 9c413ec53..88bd43aac 100644 --- a/bookwyrm/views/admin/federation.py +++ b/bookwyrm/views/admin/federation.py @@ -29,6 +29,8 @@ class Federation(View): filters = {} if software := request.GET.get("application_type"): filters["application_type"] = software + if server := request.GET.get("server"): + filters["server_name"] = server servers = models.FederatedServer.objects.filter(status=status, **filters) @@ -60,7 +62,9 @@ class Federation(View): "sort": sort, "software_options": models.FederatedServer.objects.values_list( "application_type", flat=True - ).distinct().order_by("application_type"), + ) + .distinct() + .order_by("application_type"), "form": forms.ServerForm(), } return TemplateResponse(request, "settings/federation/instance_list.html", data) From 94a6675dc47843f7f7fe049a047d1dc2e9c42a59 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 2 Jul 2022 12:07:22 -0700 Subject: [PATCH 5/5] Pylint fixes --- bookwyrm/importers/calibre_import.py | 2 +- bookwyrm/tests/test_postgres.py | 1 + bookwyrm/utils/isni.py | 2 +- docker-compose.yml | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bookwyrm/importers/calibre_import.py b/bookwyrm/importers/calibre_import.py index 7395e2f7b..5426e9333 100644 --- a/bookwyrm/importers/calibre_import.py +++ b/bookwyrm/importers/calibre_import.py @@ -24,5 +24,5 @@ class CalibreImporter(Importer): super().__init__(*args, **kwargs) def get_shelf(self, normalized_row): - # Calibre export does not indicate which shelf to use. Go with a default one for now + # Calibre export does not indicate which shelf to use. Use a default one for now return Shelf.TO_READ diff --git a/bookwyrm/tests/test_postgres.py b/bookwyrm/tests/test_postgres.py index 624512575..94a8090f4 100644 --- a/bookwyrm/tests/test_postgres.py +++ b/bookwyrm/tests/test_postgres.py @@ -34,6 +34,7 @@ class PostgresTriggers(TestCase): ) book.authors.add(author) book.refresh_from_db() + # pylint: disable=line-too-long self.assertEqual( book.search_vector, "'cool':5B 'goodby':3A 'long':2A 'name':9 'rays':7C 'seri':8 'the':6C 'wow':4B", diff --git a/bookwyrm/utils/isni.py b/bookwyrm/utils/isni.py index 180c5e388..ea0364e55 100644 --- a/bookwyrm/utils/isni.py +++ b/bookwyrm/utils/isni.py @@ -106,7 +106,7 @@ def find_authors_by_name(name_string, description=False): if titles: # some of the "titles" in ISNI are a little ...iffy - # '@' is used by ISNI/OCLC to index the starting point ignoring stop words + # @ is used by ISNI/OCLC to index the starting point ignoring stop words # (e.g. "The @Government of no one") title_elements = [ e diff --git a/docker-compose.yml b/docker-compose.yml index c5ff1f21b..c654374b9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -89,7 +89,7 @@ services: command: celery -A celerywyrm flower --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD} env_file: .env ports: - - ${FLOWER_PORT} + - ${FLOWER_PORT}:${FLOWER_PORT} volumes: - .:/app networks: