mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 07:57:35 +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