ref #1373 - support deferred (Lazy) downloading. #749
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://pulp.plan.io/issues/1425
To start: I tried not to get sucked into making general improvements. But, in some cases, I could not help myself. The refactor of treeinfo.py is a good example. I decided to make that an object mostly to be consistent with the package sync object; and to simply things by not passing so many parameters everywhere. So, most of the large blocks of code removed/added is git's way of dealing with the indentation change so when reviewing - keep in mind that I did not write most of this code.
Some other refactoring was necessary to split (but reuse) downloading and unit creation. It was important to preserve the practice of only adding a unit after files were successfully downloaded. When downloading is deferred (lazy), the downloading is skipped.
In all cases, the catalog is updated.
The unit tests are still a wreck.