예제 #1
0
 def organize_imports(
     self,
     pymodule,
     unused=True,
     duplicates=True,
     selfs=True,
     sort=True,
     import_filter=None,
 ):
     if unused or duplicates:
         module_imports = self.module_imports(pymodule, import_filter)
         if unused:
             module_imports.remove_unused_imports()
         if self.project.prefs.get("split_imports"):
             module_imports.force_single_imports()
         if duplicates:
             module_imports.remove_duplicates()
         source = module_imports.get_changed_source()
         if source is not None:
             pymodule = libutils.get_string_module(self.project, source,
                                                   pymodule.get_resource())
     if selfs:
         pymodule = self._remove_self_imports(pymodule, import_filter)
     if sort:
         return self.sort_imports(pymodule, import_filter)
     else:
         return pymodule.source_code
예제 #2
0
    def froms_to_imports(self, pymodule, import_filter=None):
        pymodule = self._clean_up_imports(pymodule, import_filter)
        module_imports = self.module_imports(pymodule, import_filter)
        for import_stmt in module_imports.imports:
            if import_stmt.readonly or not self._is_transformable_to_normal(import_stmt.import_info):
                continue
            pymodule = self._from_to_normal(pymodule, import_stmt)

        # Adding normal imports in place of froms
        module_imports = self.module_imports(pymodule, import_filter)
        for import_stmt in module_imports.imports:
            if not import_stmt.readonly and self._is_transformable_to_normal(import_stmt.import_info):
                import_stmt.import_info = NormalImport(((import_stmt.import_info.module_name, None),))
        module_imports.remove_duplicates()
        return module_imports.get_changed_source()
예제 #3
0
    def froms_to_imports(self, pymodule, import_filter=None):
        pymodule = self._clean_up_imports(pymodule, import_filter)
        module_imports = self.module_imports(pymodule, import_filter)
        for import_stmt in module_imports.imports:
            if import_stmt.readonly or not self._is_transformable_to_normal(
                    import_stmt.import_info):
                continue
            pymodule = self._from_to_normal(pymodule, import_stmt)

        # Adding normal imports in place of froms
        module_imports = self.module_imports(pymodule, import_filter)
        for import_stmt in module_imports.imports:
            if not import_stmt.readonly and self._is_transformable_to_normal(
                    import_stmt.import_info):
                import_stmt.import_info = NormalImport(
                    ((import_stmt.import_info.module_name, None), ))
        module_imports.remove_duplicates()
        return module_imports.get_changed_source()
예제 #4
0
 def organize_imports(self, pymodule, unused=True, duplicates=True, selfs=True, sort=True, import_filter=None):
     if unused or duplicates:
         module_imports = self.module_imports(pymodule, import_filter)
         if unused:
             module_imports.remove_unused_imports()
         if self.project.prefs.get("split_imports"):
             module_imports.force_single_imports()
         if duplicates:
             module_imports.remove_duplicates()
         source = module_imports.get_changed_source()
         if source is not None:
             pymodule = libutils.get_string_module(self.project, source, pymodule.get_resource())
     if selfs:
         pymodule = self._remove_self_imports(pymodule, import_filter)
     if sort:
         return self.sort_imports(pymodule, import_filter)
     else:
         return pymodule.source_code