Skip to content

Commit 188eae5

Browse files
Python Requirements Update (#89)
* chore: Updating Python Requirements * refactor: Fix pylint warnings Co-authored-by: Usama Sadiq <[email protected]>
1 parent 1236f5b commit 188eae5

File tree

12 files changed

+56
-43
lines changed

12 files changed

+56
-43
lines changed

celery_utils/logged_task.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def apply_async(self, args=None, kwargs=None, **options): # pylint: disable=arg
2222
Emit a log statement when the task is submitted.
2323
"""
2424
result = super().apply_async(args=args, kwargs=kwargs, **options)
25-
log.info('Task {}[{}] submitted with arguments {}, {}'.format(
25+
log.info('Task {}[{}] submitted with arguments {}, {}'.format( # pylint: disable=consider-using-f-string
2626
self.name,
2727
result.id,
2828
args,
@@ -35,11 +35,19 @@ def on_retry(self, exc, task_id, args, kwargs, einfo):
3535
Capture the exception that caused the task to be retried, if any.
3636
"""
3737
super().on_retry(exc, task_id, args, kwargs, einfo)
38-
log.warning('[{}] retried due to {}'.format(task_id, getattr(einfo, 'traceback', None)))
38+
log.warning(
39+
'[{}] retried due to {}'.format( # pylint: disable=consider-using-f-string
40+
task_id, getattr(einfo, 'traceback', None)
41+
)
42+
)
3943

4044
def on_failure(self, exc, task_id, args, kwargs, einfo):
4145
"""
4246
Capture the exception that caused the task to fail, if any.
4347
"""
44-
log.error('[{}] failed due to {}'.format(task_id, getattr(einfo, 'traceback', None)))
48+
log.error(
49+
'[{}] failed due to {}'.format( # pylint: disable=consider-using-f-string
50+
task_id, getattr(einfo, 'traceback', None)
51+
)
52+
)
4553
super().on_failure(exc, task_id, args, kwargs, einfo)

celery_utils/management/commands/cleanup_resolved_tasks.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,12 @@ def handle(self, *args, **options):
4949
tasks = FailedTask.objects.filter(datetime_resolved__lt=now() - timedelta(days=options['age']))
5050
if options['task_name'] is not None:
5151
tasks = tasks.filter(task_name=options['task_name'])
52-
log.info('Cleaning up {} tasks'.format(tasks.count()))
52+
log.info('Cleaning up {} tasks'.format(tasks.count())) # pylint: disable=consider-using-f-string
5353
if options['dry_run']:
54-
log.info("Tasks to clean up:\n{}".format(
55-
'\n '.join('{!r}, resolved {}'.format(task, task.datetime_resolved) for task in tasks)
54+
log.info("Tasks to clean up:\n{}".format( # pylint: disable=consider-using-f-string
55+
'\n '.join('{!r}, resolved {}'.format( # pylint: disable=consider-using-f-string
56+
task, task.datetime_resolved) for task in tasks
57+
)
5658
))
5759
else:
5860
tasks.delete()

celery_utils/management/commands/reapply_tasks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ def handle(self, *args, **options):
3636
tasks = FailedTask.objects.filter(datetime_resolved=None)
3737
if options['task_name'] is not None:
3838
tasks = tasks.filter(task_name=options['task_name'])
39-
log.info('Reapplying {} tasks'.format(tasks.count()))
40-
log.debug('Reapplied tasks: {}'.format(list(tasks)))
39+
log.info('Reapplying {} tasks'.format(tasks.count())) # pylint: disable=consider-using-f-string
40+
log.debug('Reapplied tasks: {}'.format(list(tasks))) # pylint: disable=consider-using-f-string
4141
seen_tasks = set()
4242
for task in tasks:
4343
if task.task_id in seen_tasks:

celery_utils/models.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ def reapply(self):
4848
Enqueue new celery task with the same arguments as the failed task.
4949
"""
5050
if self.datetime_resolved is not None:
51-
raise TypeError('Cannot reapply a resolved task: {}'.format(self))
52-
log.info('Reapplying failed task: {}'.format(self))
51+
raise TypeError(f'Cannot reapply a resolved task: {self}')
52+
log.info('Reapplying failed task: {}'.format(self)) # pylint: disable=consider-using-f-string
5353
original_task = current_app.tasks[self.task_name]
5454
original_task.apply_async(
5555
self.args,
@@ -59,9 +59,6 @@ def reapply(self):
5959
)
6060

6161
def __str__(self):
62-
return 'FailedTask: {task_name}, args={args}, kwargs={kwargs} ({resolution})'.format(
63-
task_name=self.task_name,
64-
args=self.args,
65-
kwargs=self.kwargs,
66-
resolution='not resolved' if self.datetime_resolved is None else 'resolved'
67-
)
62+
return f"FailedTask: {self.task_name}, " \
63+
f"args={self.args}, kwargs={self.kwargs} " \
64+
f"({'not resolved' if self.datetime_resolved is None else 'resolved'})"

requirements/ci.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ backports.entry-points-selectable==1.1.0
88
# via virtualenv
99
certifi==2021.5.30
1010
# via requests
11-
charset-normalizer==2.0.5
11+
charset-normalizer==2.0.6
1212
# via requests
1313
codecov==2.1.12
1414
# via -r requirements/ci.in
1515
coverage==5.5
1616
# via codecov
17-
distlib==0.3.2
17+
distlib==0.3.3
1818
# via virtualenv
1919
filelock==3.0.12
2020
# via
@@ -40,13 +40,13 @@ six==1.16.0
4040
# virtualenv
4141
toml==0.10.2
4242
# via tox
43-
tox==3.24.3
43+
tox==3.24.4
4444
# via
4545
# -r requirements/ci.in
4646
# tox-battery
4747
tox-battery==0.6.1
4848
# via -r requirements/ci.in
49-
urllib3==1.26.6
49+
urllib3==1.26.7
5050
# via requests
51-
virtualenv==20.7.2
51+
virtualenv==20.8.0
5252
# via tox

requirements/dev.txt

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# make upgrade
66
#
7-
astroid==2.7.3
7+
astroid==2.8.0
88
# via
99
# pylint
1010
# pylint-celery
@@ -18,7 +18,7 @@ cffi==1.14.6
1818
# via cryptography
1919
chardet==4.0.0
2020
# via diff-cover
21-
charset-normalizer==2.0.5
21+
charset-normalizer==2.0.6
2222
# via requests
2323
click==7.1.2
2424
# via
@@ -35,9 +35,9 @@ colorama==0.4.4
3535
# via twine
3636
cryptography==3.4.8
3737
# via secretstorage
38-
diff-cover==6.3.5
38+
diff-cover==6.4.0
3939
# via -r requirements/dev.in
40-
distlib==0.3.2
40+
distlib==0.3.3
4141
# via virtualenv
4242
django==2.2.24
4343
# via
@@ -96,15 +96,15 @@ pbr==5.6.0
9696
# via stevedore
9797
pep517==0.11.0
9898
# via pip-tools
99-
pip-tools==6.2.0
99+
pip-tools==6.3.0
100100
# via -r requirements/dev.in
101101
pkginfo==1.7.1
102102
# via twine
103103
platformdirs==2.3.0
104104
# via
105105
# pylint
106106
# virtualenv
107-
pluggy==0.13.1
107+
pluggy==1.0.0
108108
# via
109109
# diff-cover
110110
# tox
@@ -122,7 +122,7 @@ pygments==2.10.0
122122
# via
123123
# diff-cover
124124
# readme-renderer
125-
pylint==2.10.2
125+
pylint==2.11.1
126126
# via
127127
# edx-lint
128128
# pylint-celery
@@ -181,19 +181,23 @@ toml==0.10.2
181181
# tox
182182
tomli==1.2.1
183183
# via pep517
184-
tox==3.24.3
184+
tox==3.24.4
185185
# via
186186
# -r requirements/dev.in
187187
# tox-battery
188188
tox-battery==0.6.1
189189
# via -r requirements/dev.in
190-
tqdm==4.62.2
190+
tqdm==4.62.3
191191
# via twine
192192
twine==3.4.2
193193
# via -r requirements/dev.in
194-
urllib3==1.26.6
194+
typing-extensions==3.10.0.2
195+
# via
196+
# astroid
197+
# pylint
198+
urllib3==1.26.7
195199
# via requests
196-
virtualenv==20.7.2
200+
virtualenv==20.8.0
197201
# via tox
198202
webencodings==0.5.1
199203
# via bleach

requirements/doc.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ celery==5.0.4
2020
# -r requirements/base.in
2121
certifi==2021.5.30
2222
# via requests
23-
charset-normalizer==2.0.5
23+
charset-normalizer==2.0.6
2424
# via requests
2525
click==7.1.2
2626
# via
@@ -127,7 +127,7 @@ sqlparse==0.4.2
127127
# via django
128128
stevedore==3.4.0
129129
# via doc8
130-
urllib3==1.26.6
130+
urllib3==1.26.7
131131
# via requests
132132
vine==5.0.0
133133
# via

requirements/pip.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ wheel==0.37.0
1010
# The following packages are considered to be unsafe in a requirements file:
1111
pip==21.2.4
1212
# via -r requirements/pip.in
13-
setuptools==58.0.4
13+
setuptools==58.1.0
1414
# via -r requirements/pip.in

requirements/quality.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# make upgrade
66
#
7-
astroid==2.7.3
7+
astroid==2.8.0
88
# via
99
# pylint
1010
# pylint-celery
@@ -40,7 +40,7 @@ pycodestyle==2.7.0
4040
# via -r requirements/quality.in
4141
pydocstyle==3.0.0
4242
# via -r requirements/quality.in
43-
pylint==2.10.2
43+
pylint==2.11.1
4444
# via
4545
# edx-lint
4646
# pylint-celery
@@ -70,6 +70,10 @@ text-unidecode==1.3
7070
# via python-slugify
7171
toml==0.10.2
7272
# via pylint
73+
typing-extensions==3.10.0.2
74+
# via
75+
# astroid
76+
# pylint
7377
wrapt==1.12.1
7478
# via astroid
7579

tests/test_logged_task.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def test_failure():
3737
assert result.status == 'FAILURE'
3838
assert mocklog.error.called
3939
log_message = mocklog.error.call_args[0][0]
40-
assert '[{}] failed due to Traceback'.format(result.task_id) in log_message
40+
assert f'[{result.task_id}] failed due to Traceback' in log_message
4141

4242

4343
def test_retry():
@@ -55,5 +55,5 @@ def test_retry():
5555
with mock.patch('celery_utils.logged_task.log') as mocklog:
5656
task.on_retry(exc, task_id, args, kwargs, einfo)
5757
logmessage = mocklog.warning.call_args[0][0]
58-
assert '[{}]'.format(task_id) in logmessage
58+
assert f'[{task_id}]' in logmessage
5959
assert einfo.traceback in logmessage

0 commit comments

Comments
 (0)