learningequality / kolibri

Kolibri Learning Platform: the offline app for universal education
https://learningequality.org/kolibri/
MIT License
780 stars 647 forks source link

Refactor content import management commands to use utility functions that are shared between the management command and the task implementation to allow for better testing and reusability #9266

Open rtibbles opened 2 years ago

rtibbles commented 2 years ago

Currently most of our content tasks use the old AsyncCommand base command to do double duty as a management command and an asynchronous task. It would be preferable to modularize our task code to allow it to be flexibly reused as needed across the management commands and asynchronous tasks.

rtibbles commented 2 years ago

The core of this was resolved by #8269 - the only thing that remains is to remove the dependency on management commands for core functionality for better modularity and easier testing. However, that's a tech debt issue that is beyond the scope of what is needed.

Updating the task accordingly and removing from the epic.