mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 01:48:04 +03:00 
			
		
		
		
	Use better logic for auto-generating component name
Instances don't have __name__, so we try __class__.__name__ as well, before giving up and defaulting to repr(component).
This commit is contained in:
		
							parent
							
								
									b4fc6b203c
								
							
						
					
					
						commit
						67350fa496
					
				| 
						 | 
				
			
			@ -224,7 +224,14 @@ class Language(object):
 | 
			
		|||
            >>> nlp.add_pipe(component, name='custom_name', last=True)
 | 
			
		||||
        """
 | 
			
		||||
        if name is None:
 | 
			
		||||
            name = getattr(component, 'name', component.__name__)
 | 
			
		||||
            if hasattr(component, 'name'):
 | 
			
		||||
                name = component.name
 | 
			
		||||
            elif hasattr(component, '__name__'):
 | 
			
		||||
                name = component.__name__
 | 
			
		||||
            elif hasattr(component, '__class__') and hasattr(component.__class__, '__name__'):
 | 
			
		||||
                name = component.__class__.__name__
 | 
			
		||||
            else:
 | 
			
		||||
                name = repr(component)
 | 
			
		||||
        if name in self.pipe_names:
 | 
			
		||||
            raise ValueError("'{}' already exists in pipeline.".format(name))
 | 
			
		||||
        if sum([bool(before), bool(after), bool(first), bool(last)]) >= 2:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user