Browse Source

Let the python-twitter library handle message splitting

Twitter auto-converts urls to twitter shortened URLs. This can affect
the math for message splitting. The python-twitter library has this
implemented already, including all of the logic necessary ... so just
use it.

The character '\u2026' is the unicode horizontal ellipsis and is used
to indicate that the message is continued.

Change-Id: I5492a2792f5d11dccbe4a3454396262341449eab
changes/80/504980/1
Monty Taylor 4 years ago
parent
commit
d01cfd3994
No known key found for this signature in database GPG Key ID: 7BAE94BC7141A594
  1. 11
      statusbot/bot.py

11
statusbot/bot.py

@ -56,7 +56,6 @@ import simplemediawiki
import datetime
import re
import ssl
import textwrap
import twitter
import urllib
@ -200,15 +199,7 @@ class Tweet(UpdateInterface):
access_token_secret=self.access_token_secret)
def update(self, msg):
# Limit tweets to 120 characters to facilitate retweets
tweets = textwrap.wrap(msg, 120)
if len(tweets) == 1:
# Don't prefix statuses that fit
self.api.PostUpdate(tweets[0])
else:
for index in range(0, len(tweets)):
self.api.PostUpdate("{index}/{tweet}".format(
index=index, tweet=tweets[index]))
self.api.PostUpdates(msg, continuation='\u2026')
def alert(self, msg=None):
self.update(msg)

Loading…
Cancel
Save