Skip to content

Commit 3ad5861

Browse files
authored
Merge pull request #785 from python-rope/lieryan-refactor-movetest
Refactor movetest.py
2 parents 186f2ed + 3be1fd4 commit 3ad5861

5 files changed

Lines changed: 637 additions & 475 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# **Upcoming release**
22

3+
- #785 Refactoring movetest.py (@lieryan)
4+
5+
# Release 1.13.0
6+
37
- #781, #783 Isolate tests that uses external_fixturepkg into a venv (@lieryan)
48
- #751 Check for ast.Attributes when finding occurrences in fstrings (@sandratsy)
59
- #777, #698 add validation to refuse Rename refactoring to a python keyword (@lieryan)

pyproject.toml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,20 @@ packages = [
7575

7676
[tool.black]
7777
target-version = [
78-
'py36',
79-
'py37',
8078
'py38',
8179
'py39',
80+
'py310',
81+
'py311',
82+
'py312',
8283
]
8384
include = 'rope/.*\.pyi?$'
8485
force-exclude = 'ropetest|rope/base/prefs.py'
8586

87+
[tool.coverage.report]
88+
exclude_also = [
89+
"if TYPE_CHECKING:",
90+
]
91+
8692
[tool.isort]
8793
profile = "black"
8894

rope/contrib/generate.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from typing import Literal, Optional
1919

2020
from rope.base.project import Project
21-
from rope.base.resources import Resource
21+
from rope.base.resources import Resource, File, Folder
2222

2323
GenerateKind = Literal[
2424
"variable",
@@ -51,7 +51,7 @@ def create_generate(
5151
return generate(project, resource, offset, goal_resource=goal_resource)
5252

5353

54-
def create_module(project, name, sourcefolder=None):
54+
def create_module(project, name, sourcefolder=None) -> File:
5555
"""Creates a module and returns a `rope.base.resources.File`"""
5656
if sourcefolder is None:
5757
sourcefolder = project.root
@@ -62,7 +62,7 @@ def create_module(project, name, sourcefolder=None):
6262
return parent.create_file(packages[-1] + ".py")
6363

6464

65-
def create_package(project, name, sourcefolder=None):
65+
def create_package(project, name, sourcefolder=None) -> Folder:
6666
"""Creates a package and returns a `rope.base.resources.Folder`"""
6767
if sourcefolder is None:
6868
sourcefolder = project.root

rope/refactor/move.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ def __init__(self, project, resource, offset):
8282

8383
def get_changes(
8484
self,
85-
dest_attr,
86-
new_name=None,
87-
resources=None,
85+
dest_attr: str,
86+
new_name: Optional[str] = None,
87+
resources: Optional[List[resources.File]] = None,
8888
task_handle=taskhandle.DEFAULT_TASK_HANDLE, # FIXME: this is unused
8989
):
9090
"""Return the changes needed for this refactoring
@@ -335,7 +335,7 @@ def get_changes(
335335
# "Resource" has no attribute "has_child"
336336
if dest is None or not dest.exists():
337337
raise exceptions.RefactoringError("Move destination does not exist.")
338-
if dest.is_folder() and dest.has_child("__init__.py"): # type:ignore
338+
if dest.is_folder() and dest.has_child("__init__.py"): # type: ignore[attr-defined]
339339
dest = dest.get_child("__init__.py") # type:ignore
340340
# The previous guards protect against this mypy complaint:
341341
# Item "None" of "Union[str, Resource, None]" has no attribute "is_folder"
@@ -519,7 +519,10 @@ def __init__(self, project, resource):
519519
self.import_tools = self.tools.import_tools
520520

521521
def get_changes(
522-
self, dest, resources=None, task_handle=taskhandle.DEFAULT_TASK_HANDLE
522+
self,
523+
dest: resources.Resource,
524+
resources: Optional[List[resources.File]] = None,
525+
task_handle=taskhandle.DEFAULT_TASK_HANDLE,
523526
):
524527
if resources is None:
525528
resources = self.project.get_python_files()

0 commit comments

Comments
 (0)