Removed the now-obsolete import-catalog-data importer (Acalog) and related settings
Refactored the import-catalog-descriptions importer for improved performance and separation of concerns. Noteworthy changes:
Catalog entries fetched for matching must now have a includeInCatalog value of True to be considered "active"/valid.
In addition to filtering by career and level, catalog entries are now filtered by college for matching against existing programs.
Implemented multithreading for catalog description processing (Comprehend)
Catalog descriptions and curriculums are now sanitized separately and then joined into the "full" program description, eliminating redundant Comprehend processing. Previously, these raw values were joined and then sanitized, resulting in catalog descriptions being sanitized twice.
Catalog descriptions and curriculums are now only sanitized when changes are detected since the last import was run (or if the --force-desc-updates flag is set), further eliminating unnecessary Comprehend processing. The importer will now generate and store "Source Catalog Description" and "Source Catalog Curriculum" ProgramTypes, and cross-reference them on each import to check for changes.
CatalogEntry and MatchableProgram helper classes have been moved to a separate file.
Other:
Re-added the python-Levenshtein package for fuzzy catalog name matching (was inadvertently removed in v2.1.5)
import-catalog-data
importer (Acalog) and related settingsimport-catalog-descriptions
importer for improved performance and separation of concerns. Noteworthy changes:includeInCatalog
value ofTrue
to be considered "active"/valid.--force-desc-updates
flag is set), further eliminating unnecessary Comprehend processing. The importer will now generate and store "Source Catalog Description" and "Source Catalog Curriculum"ProgramType
s, and cross-reference them on each import to check for changes.CatalogEntry
andMatchableProgram
helper classes have been moved to a separate file.