From 430e56e7589a867079bcd1757ae752165a45f15f Mon Sep 17 00:00:00 2001 From: Ilkka Ollakka Date: Wed, 29 Jan 2025 20:29:20 +0200 Subject: [PATCH] enable finna connector --- bookwyrm/connectors/settings.py | 2 +- bookwyrm/management/commands/initdb.py | 19 +++++++++++++++++++ bookwyrm/tests/management/test_initdb.py | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/bookwyrm/connectors/settings.py b/bookwyrm/connectors/settings.py index 927e39b265..64a4710f1b 100644 --- a/bookwyrm/connectors/settings.py +++ b/bookwyrm/connectors/settings.py @@ -1,3 +1,3 @@ """ settings book data connectors """ -CONNECTORS = ["openlibrary", "inventaire", "bookwyrm_connector"] +CONNECTORS = ["openlibrary", "inventaire", "bookwyrm_connector", "finna"] diff --git a/bookwyrm/management/commands/initdb.py b/bookwyrm/management/commands/initdb.py index ef8aff0fb8..b7838f579e 100644 --- a/bookwyrm/management/commands/initdb.py +++ b/bookwyrm/management/commands/initdb.py @@ -114,6 +114,25 @@ def init_connectors(): priority=1, ) + models.Connector.objects.create( + identifier="api.finna.fi", + name="Finna API", + connector_file="finna", + base_url="https://www.finna.fi", + books_url="https://api.finna.fi/api/v1/record" + "?id=", + covers_url="https://api.finna.fi", + search_url="https://api.finna.fi/api/v1/search?limit=20" + "&filter[]=format%3a%220%2fBook%2f%22" + "&field[]=title&field[]=recordPage&field[]=authors&field[]=year&field[]=id&field[]=formats" + "&lookfor=", + isbn_search_url="https://api.finna.fi/api/v1/search?limit=1" + "&filter[]=format%3a%220%2fBook%2f%22" + "&field[]=title&field[]=recordPage&field[]=authors&field[]=year&field[]=id&field[]=formats" + "&lookfor=isbn:", + priority=1, + ) + def init_settings(): """info about the instance""" diff --git a/bookwyrm/tests/management/test_initdb.py b/bookwyrm/tests/management/test_initdb.py index a76fac04d0..47089931a7 100644 --- a/bookwyrm/tests/management/test_initdb.py +++ b/bookwyrm/tests/management/test_initdb.py @@ -99,7 +99,7 @@ def test_command_no_args(self): # everything should have been called self.assertEqual(Group.objects.count(), 4) self.assertTrue(Permission.objects.exists()) - self.assertEqual(models.Connector.objects.count(), 3) + self.assertEqual(models.Connector.objects.count(), 4) self.assertEqual(models.SiteSettings.objects.count(), 1) self.assertEqual(models.LinkDomain.objects.count(), 5)