def organize_imports(self, source, project_path, file_path): """ Organize imports in source :param source: the document source :param project_path: the actual project_path :param file_path: the actual file path :returns: a string containing the source with imports fully organized """ project, resource = self._get_resource(project_path, file_path, source) pycore = project.pycore import_tools = ImportTools(pycore) pymodule = pycore.resource_to_pyobject(resource) organized_source = import_tools.organize_imports(pymodule) return organized_source
def setUp(self): super(ImportUtilsTest, self).setUp() self.project = testutils.sample_project() self.pycore = self.project.pycore self.import_tools = ImportTools(self.pycore) self.mod = testutils.create_module(self.project, 'mod') self.pkg1 = testutils.create_package(self.project, 'pkg1') self.mod1 = testutils.create_module(self.project, 'mod1', self.pkg1) self.pkg2 = testutils.create_package(self.project, 'pkg2') self.mod2 = testutils.create_module(self.project, 'mod2', self.pkg2) self.mod3 = testutils.create_module(self.project, 'mod3', self.pkg2) p1 = testutils.create_package(self.project, 'p1') p2 = testutils.create_package(self.project, 'p2', p1) p3 = testutils.create_package(self.project, 'p3', p2) m1 = testutils.create_module(self.project, 'm1', p3) l = testutils.create_module(self.project, 'l', p3)