Repository URL to install this package:
|
Version:
2022.2.8 ▾
|
"""Utilities for xref."""
import os
from pytype import module_utils
def get_module_filepath(module_filename):
"""Recover the path to the py file from a module pyi path."""
def _clean(path):
"""Change extension to .py."""
prefix, fname = os.path.split(path)
fname, _ = os.path.splitext(fname)
path = os.path.join(prefix, fname + ".py")
return path
return _clean(module_filename)
def process_imports_map(imports_map):
"""Generate a map of {module name: canonical relative path}."""
if not imports_map:
return {}
# Store maps of the full path and canonical relative path.
mod_to_fp = {}
fp_to_cp = {}
for path, v in imports_map.items():
mod = module_utils.path_to_module_name(path)
mod_to_fp[mod] = v
if v not in fp_to_cp or len(path) > len(fp_to_cp[v]):
fp_to_cp[v] = path
return {mod: fp_to_cp[fp] for mod, fp in mod_to_fp.items()}