mirror of https://github.com/explosion/spaCy.git
parent
1aadcfcb37
commit
23085ffef4
|
@ -158,15 +158,15 @@ def load_project_config(
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
validate_project_version(config)
|
validate_project_version(config)
|
||||||
validate_project_commands(config)
|
validate_project_commands(config)
|
||||||
|
if interpolate:
|
||||||
|
err = f"{PROJECT_FILE} validation error"
|
||||||
|
with show_validation_error(title=err, hint_fill=False):
|
||||||
|
config = substitute_project_variables(config, overrides)
|
||||||
# Make sure directories defined in config exist
|
# Make sure directories defined in config exist
|
||||||
for subdir in config.get("directories", []):
|
for subdir in config.get("directories", []):
|
||||||
dir_path = path / subdir
|
dir_path = path / subdir
|
||||||
if not dir_path.exists():
|
if not dir_path.exists():
|
||||||
dir_path.mkdir(parents=True)
|
dir_path.mkdir(parents=True)
|
||||||
if interpolate:
|
|
||||||
err = f"{PROJECT_FILE} validation error"
|
|
||||||
with show_validation_error(title=err, hint_fill=False):
|
|
||||||
config = substitute_project_variables(config, overrides)
|
|
||||||
return config
|
return config
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -123,6 +123,25 @@ def test_issue7055():
|
||||||
assert "model" in filled_cfg["components"]["ner"]
|
assert "model" in filled_cfg["components"]["ner"]
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.issue(11235)
|
||||||
|
def test_issue11235():
|
||||||
|
"""
|
||||||
|
Test that the cli handles interpolation in the directory names correctly when loading project config.
|
||||||
|
"""
|
||||||
|
lang_var = "en"
|
||||||
|
variables = {"lang": lang_var}
|
||||||
|
commands = [{"name": "x", "script": ["hello ${vars.lang}"]}]
|
||||||
|
directories = ["cfg", "${vars.lang}_model"]
|
||||||
|
project = {"commands": commands, "vars": variables, "directories": directories}
|
||||||
|
with make_tempdir() as d:
|
||||||
|
srsly.write_yaml(d / "project.yml", project)
|
||||||
|
cfg = load_project_config(d)
|
||||||
|
# Check that the directories are interpolated and created correctly
|
||||||
|
assert os.path.exists(d / "cfg")
|
||||||
|
assert os.path.exists(d / f"{lang_var}_model")
|
||||||
|
assert cfg["commands"][0]["script"][0] == f"hello {lang_var}"
|
||||||
|
|
||||||
|
|
||||||
def test_cli_info():
|
def test_cli_info():
|
||||||
nlp = Dutch()
|
nlp = Dutch()
|
||||||
nlp.add_pipe("textcat")
|
nlp.add_pipe("textcat")
|
||||||
|
|
Loading…
Reference in New Issue