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
939 stars 194 forks source link

Fix for Shared Workspace Users #70

Closed davida26 closed 6 years ago

davida26 commented 6 years ago

Issue: our project has shared workspaces (external company users on a separate workspace) When loading the import it fails:

Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\Scripts\slack-export-viewer.exe\__main__.py", line 9, in <module>
  File "C:\Python27\lib\site-packages\click\core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "C:\Python27\lib\site-packages\click\core.py", line 697, in main
    rv = self.invoke(ctx)
  File "C:\Python27\lib\site-packages\click\core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Python27\lib\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "C:\Python27\lib\site-packages\slackviewer\main.py", line 50, in main
    configure_app(app, archive, debug)
  File "C:\Python27\lib\site-packages\slackviewer\main.py", line 25, in configure_app
    top.dm_users = reader.compile_dm_users()
  File "C:\Python27\lib\site-packages\slackviewer\reader.py", line 68, in compile_dm_users
    dm_members = {"id": dm["id"], "users": [self.__USER_DATA[m] for m in dm["members"]]}
KeyError: u'U9T4TV5CJ'

Fix: After some debugging I noticed this was one of those users. I added a try catch similar to #20 to fix this. Will look into fixing this better as I get more time.

hfaran commented 6 years ago

Thanks for the contribution - sorry I missed this earlier. Will merge it now!

troarktoast commented 5 years ago

Hello! I'm running into this same issue- we have shared channels as well.

Traceback (most recent call last):
  File "/usr/local/bin/slack-export-viewer", line 11, in <module>
    sys.exit(main())
  File "/Library/Python/2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Library/Python/2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Library/Python/2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/slackviewer/main.py", line 50, in main
    configure_app(app, archive, debug)
  File "/Library/Python/2.7/site-packages/slackviewer/main.py", line 27, in configure_app
    top.mpim_users = reader.compile_mpim_users()
  File "/Library/Python/2.7/site-packages/slackviewer/reader.py", line 106, in compile_mpim_users
    mpim_members = {"name": mpim["name"], "users": [self.__USER_DATA[m] for m in mpim["members"]]}
KeyError: u'U145X6SLS'