MCPcopy Index your code
hub / github.com/python/cpython / resolve_relative_name

Method resolve_relative_name

Lib/_pyrepl/_module_completer.py:246–262  ·  view source on GitHub ↗

Resolve a relative module name to an absolute name. Example: resolve_relative_name('.foo', 'bar') -> 'bar.foo'

(self, name: str, package: str)

Source from the content-addressed store, hash-verified

244 return path
245
246 def resolve_relative_name(self, name: str, package: str) -> str | None:
247 """Resolve a relative module name to an absolute name.
248
249 Example: resolve_relative_name('.foo', 'bar') -> 'bar.foo'
250 """
251 # taken from importlib._bootstrap
252 level = 0
253 for character in name:
254 if character != '.':
255 break
256 level += 1
257 bits = package.rsplit('.', level - 1)
258 if len(bits) < level:
259 return None
260 base = bits[0]
261 name = name[level:]
262 return f'{base}.{name}' if name else base
263
264 @property
265 def global_cache(self) -> list[pkgutil.ModuleInfo]:

Callers 1

Calls 1

rsplitMethod · 0.45

Tested by

no test coverage detected