diff --git a/python/src/com/jetbrains/python/refactoring/move/PyMoveFileHandler.java b/python/src/com/jetbrains/python/refactoring/move/PyMoveFileHandler.java index 4940f0018a5b..ef081d2ba79c 100644 --- a/python/src/com/jetbrains/python/refactoring/move/PyMoveFileHandler.java +++ b/python/src/com/jetbrains/python/refactoring/move/PyMoveFileHandler.java @@ -85,9 +85,14 @@ public class PyMoveFileHandler extends MoveFileHandler { } else if (element instanceof PyReferenceExpression) { updatedFiles.add(file); - final PyQualifiedName newElementName = PyQualifiedName.fromComponents(PyClassRefactoringUtil.getOriginalName(newElement)); - replaceWithQualifiedExpression(element, newElementName); - PyClassRefactoringUtil.insertImport(element, newElement, null); + if (((PyReferenceExpression)element).getQualifier() != null) { + final PyQualifiedName newQualifiedName = ResolveImportUtil.findCanonicalImportPath(newElement, element); + replaceWithQualifiedExpression(element, newQualifiedName); + } else { + final PyQualifiedName newName = PyQualifiedName.fromComponents(PyClassRefactoringUtil.getOriginalName(newElement)); + replaceWithQualifiedExpression(element, newName); + PyClassRefactoringUtil.insertImport(element, newElement, null); + } } } } diff --git a/python/testData/refactoring/move/module/after/src/a.py b/python/testData/refactoring/move/module/after/src/a.py index 821e48bdf42b..37425aac803c 100644 --- a/python/testData/refactoring/move/module/after/src/a.py +++ b/python/testData/refactoring/move/module/after/src/a.py @@ -1,7 +1,9 @@ from p1 import m1 from p1.m1 import foo +import p1.m1 +import p1 -m1.foo +p1.m1.foo m1.bar m1 foo \ No newline at end of file diff --git a/python/testData/refactoring/move/moduleToNonPackage/after/src/a.py b/python/testData/refactoring/move/moduleToNonPackage/after/src/a.py index 6618ac3cb7ca..ca4143ce7442 100644 --- a/python/testData/refactoring/move/moduleToNonPackage/after/src/a.py +++ b/python/testData/refactoring/move/moduleToNonPackage/after/src/a.py @@ -1,7 +1,8 @@ from nonp3 import m1 from nonp3.m1 import foo +import nonp3.m1 -m1.foo +nonp3.m1.foo m1.bar m1 foo \ No newline at end of file