synadm
synadm copied to clipboard
media list throws a KeyError in human output mode
Happens when synadm media list -u 'unknown/not valid user'
is called.
(synadm) jojo@jum ~/git/govynnus_synadm (regtok) $ synadm -vv -o human media list -u '123'
DEBUG Config entry read. user: admin
DEBUG Config entry read. token: SECRET
DEBUG Config entry read. base_url: http://localhost:8008
DEBUG Config entry read. admin_path: /_synapse/admin
DEBUG Config entry read. matrix_path: /_matrix
DEBUG Config entry read. timeout: 3600
DEBUG Config entry read. format: yaml
DEBUG Formatter in use: human - <function humanize at 0x7f6c5260cea0>
INFO Querying get on http://localhost:8008/_synapse/admin/v1/users/123/media
WARNING Synapse returned status code 400
Traceback (most recent call last):
File "/home/jojo/.venvs/synadm/bin/synadm", line 11, in <module>
load_entry_point('synadm', 'console_scripts', 'synadm')()
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/decorators.py", line 33, in new_func
return f(get_current_context().obj, *args, **kwargs)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/jojo/git/govynnus_synadm/synadm/cli/media.py", line 83, in media_list_cmd
from_=from_, limit=limit, sort=sort, reverse=reverse)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/jojo/.venvs/synadm/lib/python3.6/site-packages/click-7.1.2-py3.6.egg/click/decorators.py", line 33, in new_func
return f(get_current_context().obj, *args, **kwargs)
File "/home/jojo/git/govynnus_synadm/synadm/cli/user.py", line 394, in user_media_cmd
.format(media["total"]))
KeyError: 'total'
do we have a way to handle standard error responses?
the response i got was a standard error response, and maybe we should handle the error first before trying to handle it as non-error response.