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/migrations/0210_alter_connector_connector_file.py b/bookwyrm/migrations/0210_alter_connector_connector_file.py new file mode 100644 index 0000000000..8811378d7d --- /dev/null +++ b/bookwyrm/migrations/0210_alter_connector_connector_file.py @@ -0,0 +1,26 @@ +# Generated by Django 4.2.17 on 2025-02-02 20:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0209_user_show_ratings"), + ] + + operations = [ + migrations.AlterField( + model_name="connector", + name="connector_file", + field=models.CharField( + choices=[ + ("openlibrary", "Openlibrary"), + ("inventaire", "Inventaire"), + ("bookwyrm_connector", "Bookwyrm Connector"), + ("finna", "Finna"), + ], + max_length=255, + ), + ), + ] 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)