27 lines
		
	
	
		
			620 B
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			620 B
		
	
	
	
		
			Python
		
	
	
| """
 | |
| GTSAM Copyright 2010-2020, Georgia Tech Research Corporation,
 | |
| Atlanta, Georgia 30332-0415
 | |
| All Rights Reserved
 | |
| 
 | |
| See LICENSE for the license information
 | |
| 
 | |
| Various common utilities.
 | |
| 
 | |
| Author: Varun Agrawal
 | |
| """
 | |
| 
 | |
| 
 | |
| def collect_namespaces(obj):
 | |
|     """
 | |
|     Get the chain of namespaces from the lowest to highest for the given object.
 | |
| 
 | |
|     Args:
 | |
|         obj: Object of type Namespace, Class, InstantiatedClass, or Enum.
 | |
|     """
 | |
|     namespaces = []
 | |
|     ancestor = obj.parent
 | |
|     while ancestor and ancestor.name:
 | |
|         namespaces = [ancestor.name] + namespaces
 | |
|         ancestor = ancestor.parent
 | |
|     return [''] + namespaces
 |