Пример #1
0
 def visit_import(self, node, end_line):
     start_line = node.lineno
     import_statement = importinfo.ImportStatement(
         importinfo.NormalImport(self._get_names(node.names)),
         start_line, end_line, self._get_text(start_line, end_line),
         blank_lines=self._count_empty_lines_before(start_line))
     self.imports.append(import_statement)
Пример #2
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, folder=self.folder)
         if resource is None:
             new_pairs.append((name, alias))
             continue
         absolute_name = self.pycore.modname(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)
Пример #3
0
 def visitNormalImport(self, import_stmt, import_info):
     new_pairs = []
     for name, alias in import_info.names_and_aliases:
         resource = self.project.find_module(name, folder=self.folder)
         if resource is not None and resource == self.resource:
             imported = name
             if alias is not None:
                 imported = alias
             self.to_be_fixed.add(imported)
         else:
             new_pairs.append((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)
Пример #4
0
 def force_single_imports(self):
     """force a single import per statement"""
     for import_stmt in self.imports[:]:
         import_info = import_stmt.import_info
         if import_info.is_empty() or import_stmt.readonly:
             continue
         if len(import_info.names_and_aliases) > 1:
             for name_and_alias in import_info.names_and_aliases:
                 if hasattr(import_info, "module_name"):
                     new_import = importinfo.FromImport(
                         import_info.module_name, import_info.level,
                         [name_and_alias])
                 else:
                     new_import = importinfo.NormalImport([name_and_alias])
                 self.add_import(new_import)
             import_stmt.empty_import()
Пример #5
0
 def visitNormalImport(self, import_stmt, import_info):
     new_pairs = []
     for name, alias in import_info.names_and_aliases:
         if self.can_select(name, alias):
             new_pairs.append((name, alias))
     return importinfo.NormalImport(new_pairs)