Skip to content

Commit 8d18375

Browse files
committed
add include/exclude check to codemods that did not have it
1 parent a69a7ff commit 8d18375

8 files changed

Lines changed: 55 additions & 1 deletion

‎src/core_codemods/django_receiver_on_top.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ def leave_FunctionDef(
2323
) -> Union[
2424
cst.BaseStatement, cst.FlattenSentinel[cst.BaseStatement], cst.RemovalSentinel
2525
]:
26+
if not self.filter_by_path_includes_or_excludes(
27+
self.node_position(original_node)
28+
):
29+
return original_node
30+
2631
maybe_receiver_with_index = None
2732
for i, decorator in enumerate(original_node.decorators):
2833
true_name = self.find_base_name(decorator.decorator)

‎src/core_codemods/exception_without_raise.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ def leave_SimpleStatementLine(
2727
) -> Union[
2828
cst.BaseStatement, cst.FlattenSentinel[cst.BaseStatement], cst.RemovalSentinel
2929
]:
30+
if not self.filter_by_path_includes_or_excludes(
31+
self.node_position(original_node)
32+
):
33+
return original_node
34+
3035
match original_node:
3136
case cst.SimpleStatementLine(
3237
body=[cst.Expr(cst.Name() | cst.Attribute() as name)]

‎src/core_codemods/fix_deprecated_abstractproperty.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ class FixDeprecatedAbstractproperty(BaseCodemod, NameResolutionMixin):
1919
def leave_Decorator(
2020
self, original_node: cst.Decorator, updated_node: cst.Decorator
2121
):
22+
if not self.filter_by_path_includes_or_excludes(
23+
self.node_position(original_node)
24+
):
25+
return original_node
26+
2227
if (
2328
base_name := self.find_base_name(original_node.decorator)
2429
) and base_name == "abc.abstractproperty":

‎src/core_codemods/fix_mutable_params.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,10 @@ def leave_FunctionDef(
154154
updated_node: cst.FunctionDef,
155155
):
156156
"""Transforms function definitions with mutable default parameters"""
157+
if not self.filter_by_path_includes_or_excludes(
158+
self.node_position(original_node)
159+
):
160+
return original_node
157161
(
158162
updated_params,
159163
new_var_decls,

‎src/core_codemods/https_connection.py‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@ def updated_args(self, original_args):
2424
return new_args
2525

2626
def update_attribute(self, true_name, original_node, updated_node, new_args):
27-
del true_name, original_node
27+
del true_name
28+
if not self.filter_by_path_includes_or_excludes(
29+
self.node_position(original_node)
30+
):
31+
return original_node
32+
2833
return updated_node.with_changes(
2934
args=new_args,
3035
func=updated_node.func.with_changes(
@@ -34,6 +39,11 @@ def update_attribute(self, true_name, original_node, updated_node, new_args):
3439

3540
def update_simple_name(self, true_name, original_node, updated_node, new_args):
3641
del true_name
42+
if not self.filter_by_path_includes_or_excludes(
43+
self.node_position(original_node)
44+
):
45+
return original_node
46+
3747
AddImportsVisitor.add_needed_import(self.context, "urllib3")
3848
RemoveImportsVisitor.remove_unused_import_by_node(self.context, original_node)
3949
return updated_node.with_changes(

‎src/core_codemods/remove_unnecessary_f_str.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ def _check_formatted_string(
3535
updated_node: cst.FormattedString,
3636
):
3737
transformed_node = super()._check_formatted_string(_original_node, updated_node)
38+
if not self.filter_by_path_includes_or_excludes(
39+
self.node_position(transformed_node)
40+
):
41+
return transformed_node
42+
3843
if not _original_node.deep_equals(transformed_node):
3944
self.report_change(_original_node)
4045
return transformed_node

‎src/core_codemods/use_generator.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ class UseGenerator(BaseCodemod, NameResolutionMixin):
2525
]
2626

2727
def leave_Call(self, original_node: cst.Call, updated_node: cst.Call):
28+
if not self.filter_by_path_includes_or_excludes(
29+
self.node_position(original_node)
30+
):
31+
return original_node
32+
2833
match original_node.func:
2934
# NOTE: could also support things like `list` and `tuple`
3035
# but it's a less compelling use case

‎src/core_codemods/use_walrus_if.py‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,11 @@ def visit_If(self, node: cst.If):
118118
)
119119

120120
def leave_If(self, original_node, updated_node):
121+
if not self.filter_by_path_includes_or_excludes(
122+
self.node_position(original_node)
123+
):
124+
return original_node
125+
121126
if (result := self._if_stack.pop()) is not None:
122127
position, named_expr = result
123128
is_name = m.matches(updated_node.test, m.Name())
@@ -134,6 +139,11 @@ def leave_If(self, original_node, updated_node):
134139

135140
def leave_Assign(self, original_node: cst.Assign, updated_node: cst.Assign):
136141
del updated_node
142+
if not self.filter_by_path_includes_or_excludes(
143+
self.node_position(original_node)
144+
):
145+
return original_node
146+
137147
if named_expr := self.assigns.get(original_node):
138148
position = self.node_position(original_node)
139149
self._modify_next_if.append((position, named_expr))
@@ -147,6 +157,11 @@ def leave_SimpleStatementLine(self, original_node, updated_node):
147157
148158
This feels like a bug in libCST but we'll work around it for now.
149159
"""
160+
if not self.filter_by_path_includes_or_excludes(
161+
self.node_position(original_node)
162+
):
163+
return original_node
164+
150165
if not updated_node.body:
151166
trailing_whitespace = (
152167
(

0 commit comments

Comments
 (0)