hfaran / slack-export-viewer

A Slack Export archive viewer that allows you to easily view and share your Slack team's export
https://pypi.python.org/pypi/slack-export-viewer
MIT License
908 stars 192 forks source link

500 Internal Server Error: KeyError: 'bot_id' #97

Closed Mela closed 5 years ago

Mela commented 5 years ago

I've installed slack-export-viewer via pipsi in Linux. When running the viewer against my archive I get an Internal Server Error (500).

Trace:

/home/mela/.local/bin/slack-export-viewer -z /daten/Backup/Slack/Autistenchat_2019-04-01/ -p 5001
Archive already extracted. Viewing from /daten/Backup/Slack/Autistenchat_2019-04-01...
 * Serving Flask app "slackviewer.app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://localhost:5001/ (Press CTRL+C to quit)
127.0.0.1 - - [01/Apr/2019 14:12:11] "GET / HTTP/1.1" 500 -
INFO:werkzeug:127.0.0.1 - - [01/Apr/2019 14:12:11] "GET / HTTP/1.1" 500 -
Error on request:
Traceback (most recent call last):
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 302, in run_wsgi
    execute(self.server.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 290, in execute
    application_iter = app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 79, in index
    return channel_name("general")
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 24, in channel_name
    mpim_users=mpim_users)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 135, in render_template
    context, ctx.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 117, in _render
    rv = template.render(context)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/viewer.html", line 59, in top-level template code
    {{render_message(message)}}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/runtime.py", line 579, in _invoke
    rv = self._func(*arguments)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/util.html", line 20, in template
    {%if message.user.email%} <span class="print-only user-email">({{message.user.email}})</span>{%endif%}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 430, in getattr
    return getattr(obj, attribute)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/message.py", line 31, in user
    return self._formatter.find_user(self._message)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/formatter.py", line 25, in find_user
    if message.get("subtype", "").startswith("bot_") and message["bot_id"] not in self.__USER_DATA:
KeyError: 'bot_id'
ERROR:werkzeug:Error on request:
Traceback (most recent call last):
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 302, in run_wsgi
    execute(self.server.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 290, in execute
    application_iter = app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 79, in index
    return channel_name("general")
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 24, in channel_name
    mpim_users=mpim_users)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 135, in render_template
    context, ctx.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 117, in _render
    rv = template.render(context)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/viewer.html", line 59, in top-level template code
    {{render_message(message)}}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/runtime.py", line 579, in _invoke
    rv = self._func(*arguments)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/util.html", line 20, in template
    {%if message.user.email%} <span class="print-only user-email">({{message.user.email}})</span>{%endif%}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 430, in getattr
    return getattr(obj, attribute)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/message.py", line 31, in user
    return self._formatter.find_user(self._message)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/formatter.py", line 25, in find_user
    if message.get("subtype", "").startswith("bot_") and message["bot_id"] not in self.__USER_DATA:
KeyError: 'bot_id'
127.0.0.1 - - [01/Apr/2019 14:12:11] "GET /favicon.ico HTTP/1.1" 404 -
INFO:werkzeug:127.0.0.1 - - [01/Apr/2019 14:12:11] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [01/Apr/2019 14:12:19] "GET / HTTP/1.1" 500 -
INFO:werkzeug:127.0.0.1 - - [01/Apr/2019 14:12:19] "GET / HTTP/1.1" 500 -
Error on request:
Traceback (most recent call last):
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 302, in run_wsgi
    execute(self.server.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 290, in execute
    application_iter = app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 79, in index
    return channel_name("general")
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 24, in channel_name
    mpim_users=mpim_users)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 135, in render_template
    context, ctx.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 117, in _render
    rv = template.render(context)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/viewer.html", line 59, in top-level template code
    {{render_message(message)}}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/runtime.py", line 579, in _invoke
    rv = self._func(*arguments)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/util.html", line 20, in template
    {%if message.user.email%} <span class="print-only user-email">({{message.user.email}})</span>{%endif%}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 430, in getattr
    return getattr(obj, attribute)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/message.py", line 31, in user
    return self._formatter.find_user(self._message)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/formatter.py", line 25, in find_user
    if message.get("subtype", "").startswith("bot_") and message["bot_id"] not in self.__USER_DATA:
KeyError: 'bot_id'
ERROR:werkzeug:Error on request:
Traceback (most recent call last):
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 302, in run_wsgi
    execute(self.server.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/werkzeug/serving.py", line 290, in execute
    application_iter = app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 79, in index
    return channel_name("general")
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/app.py", line 24, in channel_name
    mpim_users=mpim_users)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 135, in render_template
    context, ctx.app)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/flask/templating.py", line 117, in _render
    rv = template.render(context)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/viewer.html", line 59, in top-level template code
    {{render_message(message)}}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/runtime.py", line 579, in _invoke
    rv = self._func(*arguments)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/templates/util.html", line 20, in template
    {%if message.user.email%} <span class="print-only user-email">({{message.user.email}})</span>{%endif%}
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/jinja2/environment.py", line 430, in getattr
    return getattr(obj, attribute)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/message.py", line 31, in user
    return self._formatter.find_user(self._message)
  File "/home/mela/.local/venvs/slack-export-viewer/lib/python3.6/site-packages/slackviewer/formatter.py", line 25, in find_user
    if message.get("subtype", "").startswith("bot_") and message["bot_id"] not in self.__USER_DATA:
KeyError: 'bot_id'
thunder-god-cid commented 5 years ago

I also have this problem and have yet to find a solution.

hfaran commented 5 years ago

I just published 0.9.0 which includes a few bugfixes from the past few months - please try the new version and see if it fixes your issue.

thunder-god-cid commented 5 years ago

Seems to have fixed that bug, but now breaks compatibility with slack2html.py. 😞

Traceback (most recent call last):
  File "slack2html.py", line 55, in <module>
    main()
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "slack2html.py", line 33, in main
    configure_app(app, archive, debug)
TypeError: configure_app() missing 3 required positional arguments: 'no_sidebar', 'no_external_references', and 'debug'
hfaran commented 5 years ago

Ah, yeah I'll fix that in slack2html and pin the dependency of slack-export-viewer in it to a particular version so it doesn't break in the future. I'll close this issue since it's reported fixed but open one for the break of slack2html in it's repo.

dangom commented 5 years ago

Same issue here using 0.9.5.

File "/Users/user/anaconda3/lib/python3.7/site-packages/slackviewer/formatter.py", line 25, in find_user
    if message.get("subtype", "").startswith("bot_") and message["bot_id"] not in self.__USER_DATA:
KeyError: 'bot_id'