2.10.1 #209

Merged
michaelhelmick merged 7 commits from dev into master 2013-05-29 08:42:31 -07:00
5 changed files with 9 additions and 19 deletions
Showing only changes of commit f879094ea1 - Show all commits

View file

@ -40,3 +40,5 @@ Patches and Suggestions
- `Greg Nofi <https://github.com/nofeet>`_, fixed using built-in Exception attributes for storing & retrieving error message - `Greg Nofi <https://github.com/nofeet>`_, fixed using built-in Exception attributes for storing & retrieving error message
- `Jonathan Vanasco <https://github.com/jvanasco>`_, Debugging support, error_code tracking, Twitter error API tracking, other fixes - `Jonathan Vanasco <https://github.com/jvanasco>`_, Debugging support, error_code tracking, Twitter error API tracking, other fixes
- `DevDave <https://github.com/devdave>`_, quick fix for longs with helper._transparent_params - `DevDave <https://github.com/devdave>`_, quick fix for longs with helper._transparent_params
- `Ruben Varela Rosa <https://github.com/rubenvarela>`_, Fixed search example
>>>>>>> Update stream example, update AUTHORS for future example fix

View file

@ -11,6 +11,7 @@ History
- Updated some internal API code, ``__init__`` didn't need to have ``self.auth`` and ``self.headers`` because they were never used anywhere else but the ``__init__`` - Updated some internal API code, ``__init__`` didn't need to have ``self.auth`` and ``self.headers`` because they were never used anywhere else but the ``__init__``
- Added ``disconnect`` method to ``TwythonStreamer``, allowing users to disconnect as they desire - Added ``disconnect`` method to ``TwythonStreamer``, allowing users to disconnect as they desire
- Updated ``TwythonStreamError`` docstring, also allow importing it from ``twython`` - Updated ``TwythonStreamError`` docstring, also allow importing it from ``twython``
- No longer raise ``TwythonStreamError`` when stream line can't be decoded. Instead, sends signal to ``TwythonStreamer.on_error``
2.10.0 (2013-05-21) 2.10.0 (2013-05-21)
++++++++++++++++++ ++++++++++++++++++

View file

@ -3,7 +3,8 @@ from twython import TwythonStreamer
class MyStreamer(TwythonStreamer): class MyStreamer(TwythonStreamer):
def on_success(self, data): def on_success(self, data):
print data if 'text' in data:
print data['text'].encode('utf-8')
# Want to disconnect after the first result? # Want to disconnect after the first result?
# self.disconnect() # self.disconnect()

View file

@ -154,22 +154,6 @@ class TwythonAPITestCase(unittest.TestCase):
status = self.api.update_status(status='Test post just to get deleted :(') status = self.api.update_status(status='Test post just to get deleted :(')
self.api.destroy_status(id=status['id_str']) self.api.destroy_status(id=status['id_str'])
def test_retweet(self):
'''Test retweeting a status succeeds'''
retweet = self.api.retweet(id='99530515043983360')
self.api.destroy_status(id=retweet['id_str'])
def test_retweet_twice(self):
'''Test that trying to retweet a tweet twice raises a TwythonError'''
tweets = self.api.search(q='twitter').get('statuses')
if tweets:
retweet = self.api.retweet(id=tweets[0]['id_str'])
self.assertRaises(TwythonError, self.api.retweet,
id=tweets[0]['id_str'])
# Then clean up
self.api.destroy_status(id=retweet['id_str'])
def test_get_oembed_tweet(self): def test_get_oembed_tweet(self):
'''Test getting info to embed tweet on Third Party site succeeds''' '''Test getting info to embed tweet on Third Party site succeeds'''
self.api.get_oembed_tweet(id='99530515043983360') self.api.get_oembed_tweet(id='99530515043983360')

View file

@ -13,6 +13,7 @@ class TwythonStreamer(object):
def __init__(self, app_key, app_secret, oauth_token, oauth_token_secret, def __init__(self, app_key, app_secret, oauth_token, oauth_token_secret,
timeout=300, retry_count=None, retry_in=10, headers=None): timeout=300, retry_count=None, retry_in=10, headers=None):
"""Streaming class for a friendly streaming user experience """Streaming class for a friendly streaming user experience
Authentication IS required to use the Twitter Streaming API
:param app_key: (required) Your applications key :param app_key: (required) Your applications key
:param app_secret: (required) Your applications secret key :param app_secret: (required) Your applications secret key
@ -99,8 +100,9 @@ class TwythonStreamer(object):
line = line.decode('utf-8') line = line.decode('utf-8')
self.on_success(json.loads(line)) self.on_success(json.loads(line))
except ValueError: except ValueError:
raise TwythonStreamError('Response was not valid JSON, \ self.on_error(response.status_code, 'Unable to decode response, not vaild JSON.')
unable to decode.')
response.close()
def on_success(self, data): def on_success(self, data):
"""Called when data has been successfull received from the stream """Called when data has been successfull received from the stream