Skip to content

Commit 037640d

Browse files
authored
Merge pull request #89 from browniebroke/lint/ruff
Add Ruff to pre-commit config for linting and formatting
2 parents 9003f7e + 753e0b7 commit 037640d

File tree

4 files changed

+33
-16
lines changed

4 files changed

+33
-16
lines changed

.pre-commit-config.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,9 @@ repos:
1111
- id: debug-statements
1212
- id: end-of-file-fixer
1313
- id: trailing-whitespace
14+
15+
- repo: https://github.com/astral-sh/ruff-pre-commit
16+
rev: v0.6.8
17+
hooks:
18+
- id: ruff-format
19+
- id: ruff

drf_excel/fields.py

+20-9
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,14 @@ def __init__(self, **kwargs):
8585
super().__init__(**kwargs)
8686

8787
def init_value(self, value):
88-
8988
with contextlib.suppress(Exception):
90-
if isinstance(self.drf_field, IntegerField) and type(value) != int:
89+
if isinstance(self.drf_field, IntegerField) and type(value) is not int:
9190
return int(value)
92-
elif isinstance(self.drf_field, FloatField) and type(value) != float:
91+
elif isinstance(self.drf_field, FloatField) and type(value) is not float:
9392
return float(value)
94-
elif isinstance(self.drf_field, DecimalField) and type(value) != Decimal:
93+
elif (
94+
isinstance(self.drf_field, DecimalField) and type(value) is not Decimal
95+
):
9596
return Decimal(value)
9697

9798
return value
@@ -129,18 +130,24 @@ def init_value(self, value):
129130
try:
130131
if (
131132
isinstance(self.drf_field, DateTimeField)
132-
and type(value) != datetime.datetime
133+
and type(value) is not datetime.datetime
133134
):
134135
return self._parse_date(
135136
value, "DATETIME_FORMAT", parse_datetime
136137
).replace(tzinfo=None)
137-
elif isinstance(self.drf_field, DateField) and type(value) != datetime.date:
138+
elif (
139+
isinstance(self.drf_field, DateField)
140+
and type(value) is not datetime.date
141+
):
138142
return self._parse_date(value, "DATE_FORMAT", parse_date)
139-
elif isinstance(self.drf_field, TimeField) and type(value) != datetime.time:
143+
elif (
144+
isinstance(self.drf_field, TimeField)
145+
and type(value) is not datetime.time
146+
):
140147
return self._parse_date(value, "TIME_FORMAT", parse_time).replace(
141148
tzinfo=None
142149
)
143-
except:
150+
except Exception:
144151
pass
145152
return value
146153

@@ -160,7 +167,11 @@ def __init__(self, list_sep, **kwargs):
160167
super().__init__(**kwargs)
161168

162169
def prep_value(self) -> Any:
163-
if len(self.value) > 0 and isinstance(self.value[0], Iterable) and not isinstance(self.value[0], str):
170+
if (
171+
len(self.value) > 0
172+
and isinstance(self.value[0], Iterable)
173+
and not isinstance(self.value[0], str)
174+
):
164175
# array of array; write as json
165176
return json.dumps(self.value, ensure_ascii=False)
166177
else:

drf_excel/mixins.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ def finalize_response(self, request, response, *args, **kwargs):
2121
Return the response with the proper content disposition and the customized
2222
filename instead of the browser default (or lack thereof).
2323
"""
24-
response = super().finalize_response(
25-
request, response, *args, **kwargs
26-
)
24+
response = super().finalize_response(request, response, *args, **kwargs)
2725
if (
2826
isinstance(response, Response)
2927
and response.accepted_renderer.format == "xlsx"

drf_excel/renderers.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,11 @@ def _flatten_serializer_keys(
266266

267267
def _get_label(parent_label, label_sep, obj):
268268
if getattr(v, "label", None):
269-
return f"{parent_label}{label_sep}{v.label}" if parent_label else str(v.label)
269+
return (
270+
f"{parent_label}{label_sep}{v.label}"
271+
if parent_label
272+
else str(v.label)
273+
)
270274
else:
271275
return False
272276

@@ -346,9 +350,7 @@ def _make_body(self, body, row, row_count):
346350

347351
if "row_color" in row:
348352
last_letter = get_column_letter(column_count)
349-
cell_range = self.ws[
350-
f"A{row_count}" : f"{last_letter}{row_count}"
351-
]
353+
cell_range = self.ws[f"A{row_count}" : f"{last_letter}{row_count}"]
352354
fill = PatternFill(fill_type="solid", start_color=row["row_color"])
353355

354356
for r in cell_range:

0 commit comments

Comments
 (0)