bulk_import =========== .. py:module:: bulk_import Attributes ---------- .. autoapisummary:: bulk_import.OPENSTAX_BASE_URL bulk_import.COMPUTER_SCIENCE_SUBJECT_URL bulk_import.logger Functions --------- .. autoapisummary:: bulk_import._authors_from_value bulk_import._extract_json_ld_books bulk_import.extract_books_from_subject_page bulk_import.fetch_subject_page bulk_import.bulk_translate bulk_import.bulk_import Module Contents --------------- .. py:data:: OPENSTAX_BASE_URL :value: 'https://openstax.org' .. py:data:: COMPUTER_SCIENCE_SUBJECT_URL :value: 'https://openstax.org/subjects/computer-science' .. py:data:: logger .. py:function:: _authors_from_value(value: object) -> list[str] Normalize JSON-LD author values (str, dict, or list) to a flat list of names. .. py:function:: _extract_json_ld_books(payload: object) -> collections.abc.Iterator[server.plugins.openstax.openstax_models.OpenStaxBook] Recursively traverse JSON-LD payloads and yield OpenStaxBook records. .. py:function:: 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. .. py:function:: fetch_subject_page(url: str = COMPUTER_SCIENCE_SUBJECT_URL) -> str Fetch OpenStax subject page HTML. .. py:function:: bulk_translate(books: list[dict]) -> collections.abc.Iterator[server.plugins.ome_plugin.EducationResource] .. py:function:: bulk_import(url: str = COMPUTER_SCIENCE_SUBJECT_URL) -> list[dict] Gather OpenStax Computer Science books and return serialized OME records.