code: def resolve_name(name):
      
  
      parts = name.split('.')
      cursor = len(parts) - 1
      module_name = parts[:cursor]
      attr_name = parts[-1]
  
      while cursor > 0:
          try:
              ret = __import__('.'.join(module_name), fromlist=[attr_name])
              break
          except ImportError:
              if cursor == 0:
                  raise
              cursor -= 1
              module_name = parts[:cursor]
              attr_name = parts[cursor]
              ret = ''
  
      for part in parts[cursor:]:
          try:
              ret = getattr(ret, part)
          except AttributeError:
              raise ImportError(name)
  
      return ret
docs: Resolve a name like ``module.object`` to an object and return it.
  
      Raise `ImportError` if the module or name is not found.