auto-archiver
auto-archiver copied to clipboard
improve config parsing to accommodate type casting and validation rules
As it stands the logic to handle the configs() method of each Step (like Archivers, Enrichers, ...) does not cast int/float/bool and uses only strings. Likewise it's proven quite useful to specify validation rules in the configs rather than relying on the init method of each Step to do so.
This issue is on adding both of those configuration parsing mechanisms and refactoring existing Steps that are doing internal casting/validation.
this still remains a good coding challenge that would make developing new features smoother.
This should be fixed by the latest changes to the auto-archiver architecture.
By setting the type for a config value in a module's __manifest__.py file, you can a) force validation and b) force casting to that type.
An example of this can be seen here
Currently, valid options are all python internal types (str, int, list etc) as well as any validators in the validators.py file