Example #1
0
from pathlib import Path
from validate import Validator


def create_validation_command(validator):
    function_string = f"""
@validate.command()
@click.option('--trace', default="")
def {validator.command_name}(trace):
    \"\"\"
    {validator.__doc__.strip()}
    \"\"\"
    click.echo(_validate.Validator.one_check(_validate.{validator.name()}, trace))

"""
    return function_string


if __name__ == '__main__':
    cmds = "".join(
        [create_validation_command(v("")) for v in Validator.__subclasses__()])
    Path("generated_validators.py").write_text(cmds)