Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def unsubscribeFromList(self, list_id, version):
""" unsubscribeFromList(self, list_id, version)
Unsubscribe the authenticated user from the list in question (must be public).
Parameters:
list_id - Required. The list to unsubscribe from.
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.
"""
if self.authenticated is True:
try:
return simplejson.load(self.opener.open("http://api.twitter.com/%d/%s/%s/following.json" % (version, self.username, list_id), "_method=DELETE"))
except HTTPError, e:
raise TwythonError("unsubscribeFromList() failed with a %d error code." % e.code, e.code)
else:
raise AuthError("unsubscribeFromList() requires you to be authenticated.")
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:
retweetURL = self.constructApiURL("http://api.twitter.com/%d/statuses/retweets_of_me.json" % version, kwargs)
return simplejson.load(self.opener.open(retweetURL))
except HTTPError, e:
raise TwythonError("retweetedOfMe() failed with a %s error code." % `e.code`, e.code)
else:
raise AuthError("retweetedOfMe() requires you to be authenticated.")
if description is not None:
if len(list(description)) < 160:
if useAmpersands is True:
updateProfileQueryString += "&" + urllib.urlencode({"description": self.unicode2utf8(description)})
else:
updateProfileQueryString += urllib.urlencode({"description": self.unicode2utf8(description)})
else:
raise TwythonError("Twitter has a character limit of 160 for all descriptions. Try again.")
if updateProfileQueryString != "":
try:
return self.opener.open("http://api.twitter.com/%d/account/update_profile.json?" % version, updateProfileQueryString)
except HTTPError, e:
raise TwythonError("updateProfile() failed with a %s error code." % `e.code`, e.code)
else:
raise AuthError("updateProfile() requires you to be authenticated.")
""" deleteList(self, list_id, version)
Deletes a list for the authenticating user.
Parameters:
list_id - Required. The name of the list to delete - this gets turned into a slug, so you can pass it as that, or hope the transformation works out alright.
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/%s.json" % (version, self.username, list_id), "_method=DELETE"))
except HTTPError, e:
raise TwythonError("deleteList() failed with a %d error code." % e.code, e.code)
else:
raise AuthError("deleteList() requires you to be authenticated.")
Parameters:
id - Required. The numerical ID of the tweet you want the retweets of.
count - Optional. Specifies the number of retweets to retrieve. May not be greater than 100.
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 = "http://api.twitter.com/%d/statuses/retweets/%s.json" % (version, `id`)
if count is not None:
apiURL += "?count=%s" % `count`
try:
return simplejson.load(self.opener.open(apiURL))
except HTTPError, e:
raise TwythonError("getRetweets failed with a %s eroror code." % `e.code`, e.code)
else:
raise AuthError("getRetweets() requires you to be authenticated.")
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?")
""" showLists(self, version)
Show all the lists for the currently authenticated user (i.e, they own these lists).
(Note: This may encounter issues if you authenticate with an email; try username (screen name) instead).
Parameters:
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)))
except HTTPError, e:
raise TwythonError("showLists() failed with a %d error code." % e.code, e.code)
else:
raise AuthError("showLists() requires you to be authenticated.")
Parameters:
list_id - Required. The name of the list to get a timeline for - this gets turned into a slug, so you can pass it as that, or hope the transformation works out alright.
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.
cursor - Optional. Breaks the results into pages. Provide a value of -1 to begin paging.
Provide values returned in the response's "next_cursor" and "previous_cursor" attributes to page back and forth in 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
try:
baseURL = self.constructApiURL("http://api.twitter.com/%d/%s/lists/%s/statuses.json" % (version, self.username, list_id), kwargs)
return simplejson.load(self.opener.open(baseURL + "&cursor=%s" % cursor))
except HTTPError, e:
if e.code == 404:
raise AuthError("It seems the list you're trying to access is private/protected, and you don't have access. Are you authenticated and allowed?")
raise TwythonError("getListTimeline() failed with a %d error code." % e.code, e.code)
def getSavedSearches(self, version = None):
"""getSavedSearches()
Returns the authenticated user's saved search queries.
Parameters:
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.json" % version))
except HTTPError, e:
raise TwythonError("getSavedSearches() failed with a %s error code." % `e.code`, e.code)
else:
raise AuthError("getSavedSearches() requires you to be authenticated.")
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:
homeTimelineURL = self.constructApiURL("http://api.twitter.com/%d/statuses/home_timeline.json" % version, kwargs)
return simplejson.load(self.opener.open(homeTimelineURL))
except HTTPError, e:
raise TwythonError("getHomeTimeline() failed with a %s error code. (This is an upcoming feature in the Twitter API, and may not be implemented yet)" % `e.code`)
else:
raise AuthError("getHomeTimeline() requires you to be authenticated.")