Skip to content

feat: OpenLibrary SearchSource #241

@geritwagner

Description

@geritwagner

Description

Extend the colrev.open_library package by implementing searches of the OpenLibrary API.

Implementation Notes

  • Update the OpenLibrary SearchSource to include the search method, allowing users to search for books using various parameters such as titles, authors, and ISBNs. This method should be capable of handling complex queries, ensuring accurate and relevant search results from the OpenLibrary database.
  • Documentation should guide users on how to perform searches and load search results.
  • Implement unit tests simulating the retrieval process with a simple example. The colrev.crossref package provides an example for unit tests.
  • The packages docs page explains the steps of developing CoLRev packages.
  • The search-feed offers functionality for storing records.
  • CEP003 describes principles for SearchSources.
  • CEP002 describes the standard data schema for records.
  • The colrev.crossref package implements similar unit tests.

User Story

  1. The user initializes a CoLRev project using colrev init.
  2. He/she conducts a search operation with colrev search -a colrev.open_library, specifying search parameters relevant to their topic.
  3. The package retrieves records based on the parameters and saves them in the data/search directory of the project.
  4. When users run colrev load, the records from the search directory are added to the data/records.bib file, which integrates all search results in the project.
  5. When users run colrev search again, records are retrieved from the API, updating the existing records.

Useful Links

Expected Effort

2 months, 3-4 people.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGood for newcomerssearch_sourceUpdates, fixes, and additions of SearchSources

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions