From dcd8650e1a863011b9cc5d2a38d96c8f81335441 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Thu, 28 May 2015 13:20:52 -0400 Subject: [PATCH] Message display improvements - Put time and poster information on one line - Wrap message text to 70 characters Signed-off-by: Anna Schumaker --- slack/channels.py | 5 ++++- slack/users.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/slack/channels.py b/slack/channels.py index 31f7114..492a663 100644 --- a/slack/channels.py +++ b/slack/channels.py @@ -6,6 +6,7 @@ from . import auth from . import chat from . import users from datetime import datetime +import textwrap class Channel: @@ -65,7 +66,9 @@ class Message: return self.__time < other.__time def __str__(self): - return "%s %s: %s" % (self.__time.strftime("%I:%M:%S %p "), self.__user.name(), self.__text) + text = "\n ".join(textwrap.wrap(self.__text)) + time = self.__time.strftime("%I:%M:%S %p") + return "\n%s | %s:\n\n %s\n" % (time, self.__user, text) def ts(self): return self.__ts diff --git a/slack/users.py b/slack/users.py index 6737cc5..81ca1dd 100644 --- a/slack/users.py +++ b/slack/users.py @@ -15,6 +15,11 @@ class User: self.__real = json["profile"].get("real_name", "") self.__email = json["profile"].get("email", "") + def __str__(self): + if self.name() == self.__user: + return self.__user() + return "%s (%s)" % (self.name(), self.__user) + def name(self): if self.__real != "": return self.__real