https://forge.softwareheritage.org/source/swh-scheduler.git
Revision 6725f573559b6db976f515e4b6378fcc748772f3 authored by Jérémy Bobbio (Lunar) on 11 December 2023, 16:32:10 UTC, committed by Jérémy Bobbio (Lunar) on 11 December 2023, 16:32:10 UTC
Calling `swh scheduler task add load-git https://example.org/repository.git`
instead of `swh scheduler task add load-git url=https://example.org/repository.git`
will result in a confusing TypeError being raised by the scheduler.

This change adds a small note to the TypeError pointing at the
arguments of `swh scheduler task add`.

This uses the `BaseException.add_note` method which was introduced in
Python 3.11.

Sadly, I was not able to understand where to plug a test for this.

The result looks like:
```
ERROR    celery.app.trace:trace.py:270 Task swh.scheduler.tests.tasks.keyword[c6764342-bdda-4d92-9e2d-11e6119ae49b] raised unexpected: TypeError("keyword() missing 1 required keyword-only argument: 'keyword'")
Traceback (most recent call last):
  File "/home/lunar/.pyenv/versions/swh3.11/lib/python3.11/site-packages/celery/app/trace.py", line 477, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/lunar/Documents/SWH/swh-environment/swh-scheduler/build/__editable__.swh.scheduler-1.13.1.dev2+g869514d.d20231211-py3-none-any/swh/scheduler/task.py", line 67, in __call__
    raise e
  File "/home/lunar/Documents/SWH/swh-environment/swh-scheduler/build/__editable__.swh.scheduler-1.13.1.dev2+g869514d.d20231211-py3-none-any/swh/scheduler/task.py", line 62, in __call__
    result = super().__call__(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lunar/.pyenv/versions/swh3.11/lib/python3.11/site-packages/celery/app/task.py", line 411, in __call__
    return self.run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: keyword() missing 1 required keyword-only argument: 'keyword'
Would you have forgotten to write the keywords when calling `swh scheduler task add`?
```
1 parent 869514d
History
Tip revision: 6725f573559b6db976f515e4b6378fcc748772f3 authored by Jérémy Bobbio (Lunar) on 11 December 2023, 16:32:10 UTC
Add a small hint when tasks are called with missing keywords
Tip revision: 6725f57
File Mode Size
data
docs
sql
swh
.copier-answers.yml -rw-r--r-- 352 bytes
.git-blame-ignore-revs -rw-r--r-- 140 bytes
.gitignore -rw-r--r-- 356 bytes
.pre-commit-config.yaml -rw-r--r-- 977 bytes
AUTHORS -rw-r--r-- 112 bytes
CODE_OF_CONDUCT.md -rw-r--r-- 3.3 KB
CONTRIBUTORS -rw-r--r-- 14 bytes
LICENSE -rw-r--r-- 34.3 KB
LICENSE.Celery -rw-r--r-- 2.6 KB
Makefile -rw-r--r-- 163 bytes
README.rst -rw-r--r-- 292 bytes
conftest.py -rw-r--r-- 664 bytes
mypy.ini -rw-r--r-- 939 bytes
pyproject.toml -rw-r--r-- 1.9 KB
pytest.ini -rw-r--r-- 97 bytes
requirements-journal.txt -rw-r--r-- 12 bytes
requirements-simulator.txt -rw-r--r-- 21 bytes
requirements-swh.txt -rw-r--r-- 48 bytes
requirements-test.txt -rw-r--r-- 278 bytes
requirements.txt -rw-r--r-- 465 bytes
setup.cfg -rw-r--r-- 342 bytes
tox.ini -rw-r--r-- 1.4 KB

README.rst

back to top