| 12345678910111213141516171819202122232425262728293031323334353637 |
- #!/usr/bin/env python3
- import logging
- from parse import (
- extract_data_from_class_pdf,
- get_modules_for_class_json,
- get_modules_json,
- ClassPdfExtractionPageData,
- ClassJsonModule,
- )
- from config import CLASS_PDF_INPUT_FILE, CLASSES_JSON_OUTPUT_FILE
- def main() -> None:
- logging.basicConfig(level=logging.DEBUG)
- extraction_data: list[ClassPdfExtractionPageData] = extract_data_from_class_pdf(
- CLASS_PDF_INPUT_FILE
- )
- parsed_modules: list[ClassJsonModule] = [
- module
- for data in extraction_data
- for module in get_modules_for_class_json(
- data.raw_extracted_modules,
- data.page_metadata.class_name,
- data.page_metadata.degree_program,
- )
- ]
- json: str = get_modules_json(parsed_modules)
- with open(CLASSES_JSON_OUTPUT_FILE, "w", encoding="utf-8") as f:
- f.write(json)
- if __name__ == "__main__":
- main()
|