On-demand constraint-tailoring to dataset arguments #260
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.
This exposes a, so far dormant, feature of the
Constraint
class toparameter validation: constraint tailoring for particular datasets.
EnsureCommandParameterization
learned atailor_for_dataset
parameterthat can be used to identify which parameters' constraints should be
tailored for which
Dataset
instances. Tailoring will only be actuallydone under the following conditions:
DatasetParameter instance, typically via
EnsureDataset
(all regular conditions apply, e.g. a default
None
not being processedetc)
Constraint
needs to implement itsfor_dataset()
method to perform a tailoring.A test with some custom-made constraints is included. At the moment,
no production-ready constraints do implement
for_dataset()
. However,now that a consumer for that is available, it makes more sense to
address related issues, such as:
EnsureRemoteName
#193EnsureCredential
#131Closes #200