From 64d4b094683b9c789dd1c880d488ae398324a765 Mon Sep 17 00:00:00 2001 From: gryf Date: Sun, 6 Aug 2017 09:19:17 +0200 Subject: [PATCH] Fix for handling messages of different types than 'message' --- setup.py | 2 +- slack_backup/client.py | 6 +++++- tests/test_client.py | 7 +++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 2e25bc2..58fbf9d 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except ImportError: setup(name="slack-backup", packages=["slack_backup"], - version="0.4.5", + version="0.5", description="Make copy of slack converstaions", author="Roman Dobosz", author_email="gryf73@gmail.com", diff --git a/slack_backup/client.py b/slack_backup/client.py index 52da951..c2aac99 100644 --- a/slack_backup/client.py +++ b/slack_backup/client.py @@ -147,6 +147,10 @@ class Client(object): Create message with corresponding possible metadata, like reactions, files etc. """ + if data['type'] != 'message': + logging.info("Skipping message of type `%s'.", data['type']) + return + try: user = self.q(o.User).\ filter(o.User.slackid == data['user']).one() @@ -154,7 +158,7 @@ class Client(object): user = self.q(o.User).\ filter(o.User.slackid == data['comment']['user']).one() - if data['type'] == 'message' and not data['text'].strip(): + if not data['text'].strip(): logging.info("Skipping message from `%s' since it's empty", user.name) return diff --git a/tests/test_client.py b/tests/test_client.py index 3e2002e..61d4b73 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -324,7 +324,10 @@ MSGS = {'messages': [{"type": "message", "", "ts": "1478107371.000052", - "upload": True}], + "upload": True}, + {'type': 'something else', + 'ts': '1502003415232.000001', + "wibblr": True}], "ok": True, "latest": "1479501075.000020", "has_more": True} @@ -389,7 +392,7 @@ class TestApiCalls(TestCase): "C00000001").one() msg, ts = cl._channels_history(channel, 0) - self.assertEqual(len(msg), 5) + self.assertEqual(len(msg), 6) self.assertEqual(ts, '1479501074.000032') msg, ts = cl._channels_history(channel, ts)