/ src / python / txtai / util / resolver.py
resolver.py
 1  """
 2  Resolver module
 3  """
 4  
 5  
 6  class Resolver:
 7      """
 8      Resolves a Python class path
 9      """
10  
11      def __call__(self, path):
12          """
13          Class instance to resolve.
14  
15          Args:
16              path: path to class
17  
18          Returns:
19              class instance
20          """
21  
22          # Split into path components
23          parts = path.split(".")
24  
25          # Resolve each path component
26          module = ".".join(parts[:-1])
27          m = __import__(module)
28          for comp in parts[1:]:
29              m = getattr(m, comp)
30  
31          # Return class instance
32          return m