Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def destroySavedSearch(self, id, version = None):
""" destroySavedSearch(id)
Destroys a saved search for the authenticated user.
The search specified by id must be owned by the authenticating user.
Parameters:
id - Required. The id of the saved search to be deleted.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
if self.authenticated is True:
try:
return simplejson.load(self.opener.open("http://api.twitter.com/%d/saved_searches/destroy/%s.json" % (version, `id`), ""))
except HTTPError, e:
raise TwythonError("destroySavedSearch() failed with a %s error code." % `e.code`, e.code)
else:
raise AuthError("destroySavedSearch() requires you to be authenticated.")
def shortenURL(self, url_to_shorten, shortener = "http://is.gd/api.php", query = "longurl"):
"""shortenURL(url_to_shorten, shortener = "http://is.gd/api.php", query = "longurl")
Shortens url specified by url_to_shorten.
Parameters:
url_to_shorten - URL to shorten.
shortener - In case you want to use url shorterning service other that is.gd.
"""
try:
return urllib2.urlopen(shortener + "?" + urllib.urlencode({query: self.unicode2utf8(url_to_shorten)})).read()
except HTTPError, e:
raise TwythonError("shortenURL() failed with a %s error code." % `e.code`)
Parameters:
image - Required. Must be a valid GIF, JPG, or PNG image of less than 700 kilobytes in size. Images with width larger than 500 pixels will be scaled down.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
if self.authenticated is True:
try:
files = [("image", filename, open(filename, 'rb').read())]
fields = []
content_type, body = self.encode_multipart_formdata(fields, files)
headers = {'Content-Type': content_type, 'Content-Length': str(len(body))}
r = urllib2.Request("http://api.twitter.com/%d/account/update_profile_image.json" % version, body, headers)
return self.opener.open(r).read()
except HTTPError, e:
raise TwythonError("updateProfileImage() failed with a %d error code." % e.code, e.code)
else:
raise AuthError("You realize you need to be authenticated to change a profile image, right?")
def trendsByLocation(self, woeid, version = None):
""" trendsByLocation(woeid, version):
Gets all available trends, filtering by geolocation (woeid - see http://developer.yahoo.com/geo/geoplanet/guide/concepts.html).
Note: If you choose to pass a latitude/longitude, keep in mind that you have to pass both - one won't work by itself. ;P
Parameters:
woeid (string) - Required. WoeID of the area you're searching in.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
try:
return simplejson.load(self.opener.open("http://api.twitter.com/%d/trends/%s.json" % (version, woeid)))
except HTTPError, e:
raise TwythonError("trendsByLocation() failed with a %d error code." % e.code, e.code)
user_id - Optional. Specfies the ID of the potentially blocked user. Helpful for disambiguating when a valid user ID is also a valid screen name.
screen_name - Optional. Specfies the screen name of the potentially blocked user. Helpful for disambiguating when a valid screen name is also a user ID.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
apiURL = ""
if id is not None:
apiURL = "http://api.twitter.com/%d/blocks/exists/%s.json" % (version, `id`)
if user_id is not None:
apiURL = "http://api.twitter.com/%d/blocks/exists.json?user_id=%s" % (version, `user_id`)
if screen_name is not None:
apiURL = "http://api.twitter.com/%d/blocks/exists.json?screen_name=%s" % (version, screen_name)
try:
return simplejson.load(self.opener.open(apiURL))
except HTTPError, e:
raise TwythonError("checkIfBlockExists() failed with a %s error code." % `e.code`, e.code)
def addListMember(self, list_id, version = None):
""" addListMember(self, list_id, id, version)
Adds a new Member (the passed in id) to the specified list.
Parameters:
list_id - Required. The slug of the list to add the new member to.
id - Required. The ID of the user that's being added to the list.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
if self.authenticated is True:
try:
return simplejson.load(self.opener.open("http://api.twitter.com/%d/%s/%s/members.json" % (version, self.username, list_id), "id=%s" % `id`))
except HTTPError, e:
raise TwythonError("addListMember() failed with a %d error code." % e.code, e.code)
else:
raise AuthError("addListMember requires you to be authenticated.")
"""
version = version or self.apiVersion
apiURL = ""
breakResults = "cursor=%s" % cursor
if page is not None:
breakResults = "page=%s" % page
if id is not None:
apiURL = "http://api.twitter.com/%d/friends/ids/%s.json?%s" %(version, id, breakResults)
if user_id is not None:
apiURL = "http://api.twitter.com/%d/friends/ids.json?user_id=%s&%s" %(version, `user_id`, breakResults)
if screen_name is not None:
apiURL = "http://api.twitter.com/%d/friends/ids.json?screen_name=%s&%s" %(version, screen_name, breakResults)
try:
return simplejson.load(self.opener.open(apiURL))
except HTTPError, e:
raise TwythonError("getFriendsIDs() failed with a %s error code." % `e.code`, e.code)
screen_name - Required. Specfies the screen name of the user to follow with device updates. Helpful for disambiguating when a valid screen name is also a user ID.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
if self.authenticated is True:
apiURL = ""
if id is not None:
apiURL = "http://api.twitter.com/%d/notifications/leave/%s.json" % (version, id)
if user_id is not None:
apiURL = "http://api.twitter.com/%d/notifications/leave/leave.json?user_id=%s" % (version, `user_id`)
if screen_name is not None:
apiURL = "http://api.twitter.com/%d/notifications/leave/leave.json?screen_name=%s" % (version, screen_name)
try:
return simplejson.load(self.opener.open(apiURL, ""))
except HTTPError, e:
raise TwythonError("notificationLeave() failed with a %s error code." % `e.code`, e.code)
else:
raise AuthError("notificationLeave() requires you to be authenticated.")
Creates a new list for the currently authenticated user. (Note: This may encounter issues if you authenticate with an email; try username (screen name) instead).
Parameters:
name - Required. The name for the new list.
description - Optional, in the sense that you can leave it blank if you don't want one. ;)
mode - Optional. This is a string indicating "public" or "private", defaults to "public".
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
if self.authenticated is True:
try:
return simplejson.load(self.opener.open("http://api.twitter.com/%d/%s/lists.json" % (version, self.username),
urllib.urlencode({"name": name, "mode": mode, "description": description})))
except HTTPError, e:
raise TwythonError("createList() failed with a %d error code." % e.code, e.code)
else:
raise AuthError("createList() requires you to be authenticated.")
This is the equivalent of /timeline/home on the Web.
Parameters:
since_id - Optional. Returns only statuses with an ID greater than (that is, more recent than) the specified ID.
max_id - Optional. Returns only statuses with an ID less than (that is, older than) or equal to the specified ID.
count - Optional. Specifies the number of statuses to retrieve. May not be greater than 200.
page - Optional. Specifies the page of results to retrieve. Note: there are pagination limits.
version (number) - Optional. API version to request. Entire Twython class defaults to 1, but you can override on a function-by-function or class basis - (version=2), etc.
"""
version = version or self.apiVersion
if self.authenticated is True:
try:
friendsTimelineURL = self.constructApiURL("http://api.twitter.com/%d/statuses/friends_timeline.json" % version, kwargs)
return simplejson.load(self.opener.open(friendsTimelineURL))
except HTTPError, e:
raise TwythonError("getFriendsTimeline() failed with a %s error code." % `e.code`)
else:
raise AuthError("getFriendsTimeline() requires you to be authenticated.")