Skip to content

Commit 5a7f49f

Browse files
committed
Fix dry arg type and other linting warnings
1 parent 748fe0d commit 5a7f49f

File tree

4 files changed

+33
-22
lines changed

4 files changed

+33
-22
lines changed

deadcode/actions/fix_or_show_unused_code.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from collections import defaultdict
22
from difflib import unified_diff
3-
from typing import Iterable, Optional
3+
from typing import Iterable
44
import os
55

66
from deadcode.actions.merge_overlaping_file_parts import merge_overlaping_file_parts
@@ -10,7 +10,8 @@
1010
from deadcode.utils.flatten_lists import flatten_list
1111
from deadcode.visitor.ignore import _match
1212

13-
def fix_or_show_unused_code(unused_items: Iterable[CodeItem], args: Args) -> Optional[str]:
13+
14+
def fix_or_show_unused_code(unused_items: Iterable[CodeItem], args: Args) -> str:
1415
# Reading and writing should be patched in this file.
1516

1617
# Group unused_names by filenames
@@ -36,11 +37,11 @@ def fix_or_show_unused_code(unused_items: Iterable[CodeItem], args: Args) -> Opt
3637
updated_file_content_lines = remove_file_parts_from_content(file_content_lines, unused_file_parts)
3738
updated_file_content = "".join(updated_file_content_lines)
3839
if updated_file_content.strip():
39-
if args.dry and ('__all_files__' in args.dry or _match(filename, args.dry)):
40+
if args.dry and ("__all_files__" in args.dry or _match(filename, args.dry)):
4041
with open(filename, "r") as f:
4142
diff = unified_diff(f.readlines(), updated_file_content_lines, fromfile=filename, tofile=filename)
4243
# TODO: consider printing result instantly to save memory
43-
result.append(''.join(diff))
44+
result.append("".join(diff))
4445

4546
elif args.fix:
4647
with open(filename, "w") as f:
@@ -51,6 +52,7 @@ def fix_or_show_unused_code(unused_items: Iterable[CodeItem], args: Args) -> Opt
5152

5253
if result:
5354
return "\n".join(result)
55+
return ""
5456

5557
# TODO: update this one: solution is to use read and write operations.
5658
#

deadcode/data_types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
@dataclass
1414
class Args:
1515
fix: bool = False
16-
dry: bool = False
1716
verbose: bool = False
17+
dry: Iterable[Pathname] = ()
1818
paths: Iterable[Pathname] = ()
1919
exclude: Iterable[Pathname] = ()
2020
ignore_definitions: Iterable[Pathname] = ()

deadcode/tests/cli_args/test_dry.py

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ class UnusedClass:
1717
self.assertEqual(
1818
unused_names,
1919
(
20-
dedent("""\
20+
dedent(
21+
"""\
2122
foo.py:1:0: DC03 Class `UnusedClass` is never used
2223
2324
--- foo.py
@@ -27,7 +28,8 @@ class UnusedClass:
2728
- pass
2829
-
2930
print("Dont change this file")
30-
""")
31+
"""
32+
)
3133
),
3234
)
3335

@@ -54,7 +56,8 @@ class UnusedClass:
5456
self.assertEqual(
5557
unused_names,
5658
(
57-
dedent("""\
59+
dedent(
60+
"""\
5861
foo.py:1:0: DC03 Class `UnusedClass` is never used
5962
6063
--- foo.py
@@ -64,7 +67,8 @@ class UnusedClass:
6467
- pass
6568
-
6669
print("Dont change this file")
67-
""")
70+
"""
71+
)
6872
),
6973
)
7074

@@ -95,7 +99,8 @@ def unused_function():
9599
unused_names = main(["ignore_names_by_pattern.py", "--no-color", "--dry"])
96100
self.assertEqual(
97101
unused_names,
98-
dedent("""\
102+
dedent(
103+
"""\
99104
bar.py:1:0: DC02 Function `unused_function` is never used
100105
foo.py:1:0: DC03 Class `UnusedClass` is never used
101106
@@ -114,22 +119,23 @@ def unused_function():
114119
- pass
115120
-
116121
print("Dont change this file")
117-
""")
122+
"""
123+
),
118124
)
119125

120126
self.assertFiles(
121127
{
122-
"foo.py": """
128+
"foo.py": """
123129
class UnusedClass:
124130
pass
125131
126132
print("Dont change this file")""",
127-
"bar.py": """
133+
"bar.py": """
128134
def unused_function():
129135
pass
130136
131137
print("Dont change this file")""",
132-
}
138+
}
133139
)
134140

135141
def test_only_provided_filenames_to_dry_option_are_reported(self):
@@ -149,7 +155,8 @@ def unused_function():
149155
unused_names = main(["ignore_names_by_pattern.py", "--no-color", "--dry", "foo.py"])
150156
self.assertEqual(
151157
unused_names,
152-
dedent("""\
158+
dedent(
159+
"""\
153160
bar.py:1:0: DC02 Function `unused_function` is never used
154161
foo.py:1:0: DC03 Class `UnusedClass` is never used
155162
@@ -160,22 +167,23 @@ def unused_function():
160167
- pass
161168
-
162169
print("Dont change this file")
163-
""")
170+
"""
171+
),
164172
)
165173

166174
self.assertFiles(
167175
{
168-
"foo.py": """
176+
"foo.py": """
169177
class UnusedClass:
170178
pass
171179
172180
print("Dont change this file")""",
173-
"bar.py": """
181+
"bar.py": """
174182
def unused_function():
175183
pass
176184
177185
print("Dont change this file")""",
178-
}
186+
}
179187
)
180188

181189
def test_no_diff_is_shown_if_dry_option_filenames_are_incorrect(self):
@@ -216,7 +224,8 @@ class UnusedClass:
216224
self.assertEqual(
217225
unused_names,
218226
(
219-
dedent("""\
227+
dedent(
228+
"""\
220229
foo.py:1:0: DC03 Class `UnusedClass` is never used
221230
222231
--- foo.py
@@ -226,7 +235,8 @@ class UnusedClass:
226235
- pass
227236
-
228237
print("Dont change this file")
229-
""")
238+
"""
239+
)
230240
),
231241
)
232242

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ known_third_party = ["deadcode"]
6666
ignore_names = [
6767
"ERROR_CODES",
6868
"fix",
69-
"dry",
7069
"fix_indent",
7170
"ignore_definitions_if_decorated_with",
7271
"ignore_if_decorated_with",

0 commit comments

Comments
 (0)