mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-26 01:46:28 +03:00
parent
8baff1c7c0
commit
ed18a6efbd
|
@ -383,6 +383,8 @@ class Errors(object):
|
||||||
E133 = ("The sum of prior probabilities for alias '{alias}' should not exceed 1, "
|
E133 = ("The sum of prior probabilities for alias '{alias}' should not exceed 1, "
|
||||||
"but found {sum}.")
|
"but found {sum}.")
|
||||||
E134 = ("Alias '{alias}' defined for unknown entity '{entity}'.")
|
E134 = ("Alias '{alias}' defined for unknown entity '{entity}'.")
|
||||||
|
E135 = ("If you meant to replace a built-in component, use `create_pipe`: "
|
||||||
|
"`nlp.replace_pipe('{name}', nlp.create_pipe('{name}'))`")
|
||||||
|
|
||||||
|
|
||||||
@add_codes
|
@add_codes
|
||||||
|
|
|
@ -333,6 +333,11 @@ class Language(object):
|
||||||
"""
|
"""
|
||||||
if name not in self.pipe_names:
|
if name not in self.pipe_names:
|
||||||
raise ValueError(Errors.E001.format(name=name, opts=self.pipe_names))
|
raise ValueError(Errors.E001.format(name=name, opts=self.pipe_names))
|
||||||
|
if not hasattr(component, "__call__"):
|
||||||
|
msg = Errors.E003.format(component=repr(component), name=name)
|
||||||
|
if isinstance(component, basestring_) and component in self.factories:
|
||||||
|
msg += Errors.E135.format(name=name)
|
||||||
|
raise ValueError(msg)
|
||||||
self.pipeline[self.pipe_names.index(name)] = (name, component)
|
self.pipeline[self.pipe_names.index(name)] = (name, component)
|
||||||
|
|
||||||
def rename_pipe(self, old_name, new_name):
|
def rename_pipe(self, old_name, new_name):
|
||||||
|
|
|
@ -52,11 +52,13 @@ def test_get_pipe(nlp, name):
|
||||||
assert nlp.get_pipe(name) == new_pipe
|
assert nlp.get_pipe(name) == new_pipe
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("name,replacement", [("my_component", lambda doc: doc)])
|
@pytest.mark.parametrize("name,replacement,not_callable", [("my_component", lambda doc: doc, {})])
|
||||||
def test_replace_pipe(nlp, name, replacement):
|
def test_replace_pipe(nlp, name, replacement, not_callable):
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
nlp.replace_pipe(name, new_pipe)
|
nlp.replace_pipe(name, new_pipe)
|
||||||
nlp.add_pipe(new_pipe, name=name)
|
nlp.add_pipe(new_pipe, name=name)
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
nlp.replace_pipe(name, not_callable)
|
||||||
nlp.replace_pipe(name, replacement)
|
nlp.replace_pipe(name, replacement)
|
||||||
assert nlp.get_pipe(name) != new_pipe
|
assert nlp.get_pipe(name) != new_pipe
|
||||||
assert nlp.get_pipe(name) == replacement
|
assert nlp.get_pipe(name) == replacement
|
||||||
|
|
Loading…
Reference in New Issue
Block a user