bookwyrm/bookwyrm/connectors/bookwyrm_connector.py

29 lines
1,004 B
Python
Raw Normal View History

2021-03-08 16:49:10 +00:00
""" using another bookwyrm instance as a source of book data """
from __future__ import annotations
from typing import Any, Iterator
from bookwyrm import activitypub, models
2021-09-16 18:30:04 +00:00
from bookwyrm.book_search import SearchResult
from .abstract_connector import AbstractMinimalConnector
2020-03-28 19:55:53 +00:00
2020-11-29 02:56:28 +00:00
class Connector(AbstractMinimalConnector):
2021-04-26 16:15:42 +00:00
"""this is basically just for search"""
def get_or_create_book(self, remote_id: str) -> models.Edition:
return activitypub.resolve_remote_id(remote_id, model=models.Edition)
def parse_search_data(
self, data: list[dict[str, Any]], min_confidence: float
) -> Iterator[SearchResult]:
for search_result in data:
search_result["connector"] = self
yield SearchResult(**search_result)
2021-03-01 20:09:21 +00:00
def parse_isbn_search_data(
self, data: list[dict[str, Any]]
) -> Iterator[SearchResult]:
for search_result in data:
2022-05-30 23:16:10 +00:00
search_result["connector"] = self
yield SearchResult(**search_result)