- Move GitHub retrieval and parser classes to the core/ app from the libraries/ app; moved tests, too, and updated import statements

- Add `verbose` flag to `import_versions` to allow user to silence the output
- Removed some unused options from `import_versions`
- Moved the exclusion logic in `import_versions` to its own function
- Stop getting the `github_url` from the github API. Instead, generate it from the tag. (reason: in older tags, the best URL GitHub gives us is a less-useful one to a _commit_ and not a tag. We can generate the url, though.)
- Move the retrieval of the `release_date` to its own task, so it can be loaded async. (reason: it's a separate API call per version to get the date)
- Make `release_date` optional on the `Version` model (reason: make the field easier to load async)
- Simplify logic to retrieve `release_date` and just always retrieve it from the commit
- Stop loading the version `description` from GitHub. We don't use it on the frontend anyway, and in all but the most recent couple of versions, the `description` is the comment from the commit, which is usually not useful.
This commit is contained in:
Lacey Williams Henschel
2023-08-30 11:44:02 -07:00
parent 44db4ac03d
commit 7e847cc17f
15 changed files with 1001 additions and 997 deletions

View File

@@ -3,7 +3,7 @@ import structlog
from django.contrib.auth import get_user_model
from config.celery import app
from libraries.github import GithubAPIClient
from core.githubhelper import GithubAPIClient
logger = structlog.getLogger(__name__)