Example #1
0
 def visitFromImport(self, import_stmt, import_info):
     resource = import_info.get_imported_resource(self.context)
     if resource is None:
         return None
     absolute_name = importinfo.get_module_name(self.pycore, resource)
     if import_info.module_name != absolute_name:
         import_stmt.import_info = importinfo.FromImport(
             absolute_name, 0, import_info.names_and_aliases)
Example #2
0
 def get_from_import(self, resource, name):
     """The from import statement for `name` in `resource`"""
     module_name = get_module_name(self.pycore, resource)
     names = []
     if isinstance(name, list):
         names = [(imported, None) for imported in name]
     else:
         names = [(name, None),]
     return FromImport(module_name, 0, tuple(names))
Example #3
0
 def _get_relative_to_absolute_list(self, import_info):
     result = []
     for name, alias in import_info.names_and_aliases:
         if alias is not None:
             continue
         resource = self.pycore.find_module(name, current_folder=self.folder)
         if resource is None:
             continue
         absolute_name = importinfo.get_module_name(self.pycore, resource)
         if absolute_name != name:
             result.append((name, absolute_name))
     return result
Example #4
0
 def visitNormalImport(self, import_stmt, import_info):
     self.to_be_absolute.extend(self._get_relative_to_absolute_list(import_info))
     new_pairs = []
     for name, alias in import_info.names_and_aliases:
         resource = self.pycore.find_module(name, current_folder=self.folder)
         if resource is None:
             new_pairs.append((name, alias))
             continue
         absolute_name = importinfo.get_module_name(self.pycore, resource)
         new_pairs.append((absolute_name, alias))
     if not import_info._are_name_and_alias_lists_equal(
         new_pairs, import_info.names_and_aliases):
         import_stmt.import_info = importinfo.NormalImport(new_pairs)
Example #5
0
 def get_import(self, resource):
     """The import statement for `resource`"""
     module_name = get_module_name(self.pycore, resource)
     return NormalImport(((module_name, None), ))