From 3d77c24ec5353fa626d2d74be3ce97ce5f6d2f79 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 2 Dec 2010 18:33:19 +0300 Subject: [PATCH 1/3] fixed (PY-2403) Allow multiple patterns in run configuration --- python/helpers/pycharm/utrunner.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/python/helpers/pycharm/utrunner.py b/python/helpers/pycharm/utrunner.py index 60720a7eae76..8d7ac8967193 100644 --- a/python/helpers/pycharm/utrunner.py +++ b/python/helpers/pycharm/utrunner.py @@ -65,12 +65,13 @@ def loadModulesFromFolderUsingPattern(folder, pattern): ''' loads modules from folder , check if module name matches given pattern''' modules = loadModulesFromFolderRec(folder) - result = [] - prog = re.compile(pattern) + prog_list = [re.compile(pat.strip()) for pat in pattern.split(',')] + result = [] for module in modules: - if prog.match(module.__name__): - result.append(module) + for prog in prog_list: + if prog.match(module.__name__): + result.append(module) return result if __name__ == "__main__": From 9a247c2c54925f63a40bb489f6b898953ea2e90c Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 2 Dec 2010 18:53:57 +0300 Subject: [PATCH 2/3] fixed double adding function --- .../UnresolvedRefCreateFunctionQuickFix.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java b/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java index 444a00f7faf5..55c2176b4aad 100644 --- a/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java +++ b/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java @@ -61,12 +61,13 @@ public class UnresolvedRefCreateFunctionQuickFix implements LocalQuickFix { if (parentFunction != null ) { PsiFile file = myElement.getContainingFile(); function = (PyFunction)file.addBefore(function, parentFunction); - } - PyStatement statement = PsiTreeUtil.getParentOfType(myElement, PyStatement.class); - if (statement != null) { - PsiElement parent = statement.getParent(); - if (parent != null) - function = (PyFunction)parent.addBefore(function, statement); + } else { + PyStatement statement = PsiTreeUtil.getParentOfType(myElement, PyStatement.class); + if (statement != null) { + PsiElement parent = statement.getParent(); + if (parent != null) + function = (PyFunction)parent.addBefore(function, statement); + } } function = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(function); final TemplateBuilder builder = TemplateBuilderFactory.getInstance().createTemplateBuilder(function); From 1173be7bc5546aed7a6f69d97915db5367958f45 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 2 Dec 2010 18:55:56 +0300 Subject: [PATCH 3/3] added (PY-2204) Unresolved References inspection should highlight imports that resolve to their containing file --- .../inspections/PyUnresolvedReferencesInspection.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java b/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java index 19559e0464bd..cc075cb2e953 100644 --- a/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java @@ -123,6 +123,12 @@ public class PyUnresolvedReferencesInspection extends PyInspection { public void visitPyImportElement(PyImportElement node) { super.visitPyImportElement(node); final PyFromImportStatement fromImport = PsiTreeUtil.getParentOfType(node, PyFromImportStatement.class); + PsiFile file = node.getContainingFile(); + String fileNameWithExt = file.getName(); + String fileName = fileNameWithExt.substring(0, fileNameWithExt.length() - 3); + if (fromImport == null && fileName.equals(node.getText())) { + registerProblem(node, "Import resolves to its containing file."); + } if (fromImport == null || !fromImport.isFromFuture()) { myAllImports.add(node); }