mit_opencourseware.bulk_import

Attributes

MIT_OCW_BASE_URL

MIT_OCW_TOPICS_INDEX_URL

MIT_OCW_TOPIC_URL_PREFIX

DEFAULT_QUERY

DEFAULT_LIMIT

logger

plugin

here

Functions

_status_code_from_http_error(→ str | int)

_normalize_course_url(→ str)

_normalized_query(→ str)

_text_matches_query(→ bool)

_dedupe_strings(→ list[str])

_topic_labels(→ list[str])

_listing_matches_query(→ bool)

_course_matches_query(→ bool)

_names_from_value(→ list[str])

_extract_json_ld_course_values(→ tuple[str, str, ...)

parse_course_page(...)

_fetch_json_list(→ list[dict[str, object]])

_fetch_text(→ str)

fetch_topic_index(...)

fetch_topic_course_listings(...)

_collect_unique_course_listings(...)

fetch_course_details(...)

search_courses(...)

bulk_translate(...)

bulk_import(→ list[dict])

Fetch MIT OpenCourseWare courses matching a query and return OME cards.

Module Contents

mit_opencourseware.bulk_import.MIT_OCW_BASE_URL = 'https://ocw.mit.edu'
mit_opencourseware.bulk_import.MIT_OCW_TOPICS_INDEX_URL = 'https://ocw.mit.edu/courses/find-by-topic/topics.json'
mit_opencourseware.bulk_import.MIT_OCW_TOPIC_URL_PREFIX = 'https://ocw.mit.edu/courses/find-by-topic/'
mit_opencourseware.bulk_import.DEFAULT_QUERY = 'python'
mit_opencourseware.bulk_import.DEFAULT_LIMIT = 50
mit_opencourseware.bulk_import.logger
mit_opencourseware.bulk_import.plugin
mit_opencourseware.bulk_import._status_code_from_http_error(exc: httpx.HTTPError) str | int
mit_opencourseware.bulk_import._normalize_course_url(href: str) str
mit_opencourseware.bulk_import._normalized_query(query: str) str
mit_opencourseware.bulk_import._text_matches_query(query: str, *values: str) bool
mit_opencourseware.bulk_import._dedupe_strings(values: list[str]) list[str]
mit_opencourseware.bulk_import._topic_labels(listing: server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourseListing) list[str]
mit_opencourseware.bulk_import._listing_matches_query(listing: server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourseListing, query: str) bool
mit_opencourseware.bulk_import._course_matches_query(course: server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourse, query: str) bool
mit_opencourseware.bulk_import._names_from_value(value: object) list[str]
mit_opencourseware.bulk_import._extract_json_ld_course_values(payload: object) tuple[str, str, list[str]]
mit_opencourseware.bulk_import.parse_course_page(html: str, listing: server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourseListing) server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourse
async mit_opencourseware.bulk_import._fetch_json_list(httpx_async_client: httpx.AsyncClient, url: str) list[dict[str, object]]
async mit_opencourseware.bulk_import._fetch_text(httpx_async_client: httpx.AsyncClient, url: str) str
async mit_opencourseware.bulk_import.fetch_topic_index(httpx_async_client: httpx.AsyncClient) list[server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWTopicIndexItem]
async mit_opencourseware.bulk_import.fetch_topic_course_listings(httpx_async_client: httpx.AsyncClient, topic_file: str) list[server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourseListing]
async mit_opencourseware.bulk_import._collect_unique_course_listings(httpx_async_client: httpx.AsyncClient) list[server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourseListing]
async mit_opencourseware.bulk_import.fetch_course_details(httpx_async_client: httpx.AsyncClient, listing: server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourseListing) server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourse
async mit_opencourseware.bulk_import.search_courses(query: str = DEFAULT_QUERY, limit: int = DEFAULT_LIMIT) list[server.plugins.mit_opencourseware.mit_opencourseware_models.MITOCWCourse]
mit_opencourseware.bulk_import.bulk_translate(courses: list[dict]) collections.abc.Iterator[server.plugins.ome_plugin.EducationResource]
mit_opencourseware.bulk_import.bulk_import(query: str = DEFAULT_QUERY, limit: int = DEFAULT_LIMIT, cache_path: pathlib.Path | None = None) list[dict]

Fetch MIT OpenCourseWare courses matching a query and return OME cards.

mit_opencourseware.bulk_import.here