return clock
+def get_full_text(t):
+ """Handle RTs and extended tweets to always display all the available text"""
+
+ if t.get('retweeted_status'):
+ rt_status = t['retweeted_status']
+ if rt_status.get('extended_tweet'):
+ elem = rt_status['extended_tweet']
+ else:
+ elem = rt_status
+ rt_text = elem.get('full_text', elem.get('text'))
+ t['full_text'] = 'RT @' + rt_status['user']['screen_name'] + ': ' + rt_text
+ elif t.get('extended_tweet'):
+ t['full_text'] = t['extended_tweet']['full_text']
+
+ return t.get('full_text', t.get('text'))
+
+
def draw(t, keyword=None, humanize=True, noti=False, fil=[], ig=[]):
"""
Draw the rainbow
# Retrieve tweet
tid = t['id']
- text = t['text']
+
+ text = get_full_text(t)
screen_name = t['user']['screen_name']
name = t['user']['name']
created_at = t['created_at']
# Pull extended retweet text
try:
- text = 'RT @' + t['retweeted_status']['user']['screen_name'] + ': ' +\
- t['retweeted_status']['text']
# Display as a notification
target = t['retweeted_status']['user']['screen_name']
if all([target == c['original_name'], not noti]):
"""
# Sort messages by time
messages = dg['thread'][partner]
- messages.sort(key=lambda x: parser.parse(x['created_at']))
+ messages.sort(key=lambda x: int(x['created_at']))
# Use legacy display on non-ascii text message
ms = [m['text'] for m in messages]
ums = [m for m in ms if not all(ord(c) < 128 for c in m)]
printNicely(screen_line)
printNicely(dotline)
# Format clock
- date = parser.parse(m['created_at'])
- date = arrow.get(date).to('local').datetime
+ date = arrow.get(int(m['created_at'])/1000).to('local').datetime # Read Unixtime in miliseconds
clock_format = '%Y/%m/%d %H:%M:%S'
try:
clock_format = c['FORMAT']['MESSAGE']['CLOCK_FORMAT']
"""
# Retrieve message
sender_screen_name = '@' + m['sender_screen_name']
- sender_name = m['sender']['name']
+ sender_name = m['sender_name']
text = unescape(m['text'])
recipient_screen_name = '@' + m['recipient_screen_name']
- recipient_name = m['recipient']['name']
+ recipient_name = m['recipient_name']
mid = m['id']
date = parser.parse(m['created_at'])
date = arrow.get(date).to('local').datetime
Quoting format
"""
# Retrieve info
- screen_name = str( tweet['user']['screen_name'] )
- text = str( tweet['text'] )
+ screen_name = tweet['user']['screen_name']
+ text = get_full_text(tweet)
tid = str( tweet['id'] )
# Validate quote format