示例#1
0
def main(time_string: List[str], config: str, create_config: bool,
         verbose: int):
    """
    TIME_STRING Este es tu tiempo en lenguaje natural
    """
    setup_logging(verbose)

    if config:
        config_file = Path(config)
    else:
        logging.info("Will try to use default configuration file config.yml")
        config_file = Path("config.yml")

    if create_config:
        write_config(config_file)
        click.echo(f"Config file generated at {str(config_file)}")
        return

    time_string = " ".join(time_string)

    try:
        configuration = load_config(config_file)
    except KeyError as keyError:
        missing_key = keyError.args[0]
        logging.error(f"Missing key {missing_key} in config file")
        raise click.Abort()

    try:
        result = convert_times(time_string, configuration)
    except InvalidTimeStringException:
        logging.error(f'"{time_string}" is not a valid time string')
        raise click.Abort()

    print(result)
示例#2
0
def test_load_config_from_file_partial(config_file_partial_output):
    expected_value = LatimesConfiguration.from_dict({
        "starting_timezone":
        "America/Mexico_City",
        "convert_to": [
            "Colombia:America/Bogota",
            "Chile:America/Santiago",
            "Costa Rica:America/Costa_Rica",
        ],
        "output_formatting": {
            "time_format_string": "%H:%M",
            "aggregate_joiner": " $$$ ",
            "aggregate": False,
            "different_time_joiner": ", ",
        },
    })

    assert expected_value == load_config(config_file_partial_output)
示例#3
0
def test_load_config_gets_default_values(path):
    expected_values = LatimesConfiguration.from_dict(deepcopy(DEFAULT_VALUES))
    actual_values = load_config(path)
    assert actual_values == expected_values
示例#4
0
def test_load_config_from_file_fails_missing_key(broken_config_file):
    with pytest.raises(KeyError):
        load_config(broken_config_file)