bulk_import

Attributes

OPENSTAX_BASE_URL

COMPUTER_SCIENCE_SUBJECT_URL

logger

Functions

_authors_from_value(→ list[str])

Normalize JSON-LD author values (str, dict, or list) to a flat list of names.

_extract_json_ld_books(...)

Recursively traverse JSON-LD payloads and yield OpenStaxBook records.

extract_books_from_subject_page(...)

Extract books from a subject page using embedded JSON-LD metadata first, then HTML.

fetch_subject_page(→ str)

Fetch OpenStax subject page HTML.

bulk_translate(...)

bulk_import(→ list[dict])

Gather OpenStax Computer Science books and return serialized OME records.

Module Contents

bulk_import.OPENSTAX_BASE_URL = 'https://openstax.org'
bulk_import.COMPUTER_SCIENCE_SUBJECT_URL = 'https://openstax.org/subjects/computer-science'
bulk_import.logger
bulk_import._authors_from_value(value: object) list[str]

Normalize JSON-LD author values (str, dict, or list) to a flat list of names.

bulk_import._extract_json_ld_books(payload: object) collections.abc.Iterator[server.plugins.openstax.openstax_models.OpenStaxBook]

Recursively traverse JSON-LD payloads and yield OpenStaxBook records.

bulk_import.extract_books_from_subject_page(html: str) list[server.plugins.openstax.openstax_models.OpenStaxBook]

Extract books from a subject page using embedded JSON-LD metadata first, then HTML.

bulk_import.fetch_subject_page(url: str = COMPUTER_SCIENCE_SUBJECT_URL) str

Fetch OpenStax subject page HTML.

bulk_import.bulk_translate(books: list[dict]) collections.abc.Iterator[server.plugins.ome_plugin.EducationResource]
bulk_import.bulk_import(url: str = COMPUTER_SCIENCE_SUBJECT_URL) list[dict]

Gather OpenStax Computer Science books and return serialized OME records.