From d8ea9a93a84d2dc78c5784905fc4aa5c1c0fb2f3 Mon Sep 17 00:00:00 2001 From: Klaus-Uwe Mitterer Date: Wed, 8 Feb 2017 14:10:56 +0100 Subject: [PATCH] Copy over twitools from twitools --- twitools/__init__.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 twitools/__init__.py diff --git a/twitools/__init__.py b/twitools/__init__.py new file mode 100644 index 0000000..479e81d --- /dev/null +++ b/twitools/__init__.py @@ -0,0 +1,44 @@ +import tweepy, setuptools + +class twObject: + + def __init__(self, ato, ase, cke = setuptools.cke(), cse = setuptools.cse()): + self.auth = tweepy.OAuthHandler(cke, cse) + self.auth.set_access_token(ato, ase) + self.api = tweepy.API(self.auth) + + def retweet(self, id): + self.api.retweet(id) + + def delete(self, id): + self.api.destroy_status(id) + + def search(self, query, savepoint = 0): + tweets = list(tweepy.Cursor(self.api.search, q=query, since_id=savepoint).items()) + tweets.reverse() + return tweets + + def whoami(self): + return self.auth.get_username() + + def tweet(self, text, reply = 0): + return self.api.update_status(text, reply) + +def getFollowerIDs(two=twObject()): + ''' Returns 5,000 follower IDs at most ''' + for id in list(two.api.followers_ids(screen_name=twObject().whoami())): + yield int(id) + +def getFollowingIDs(two=twObject()): + for id in list(two.api.friends_ids(screen_name=twObject().whoami())): + yield int(id) + +def getNameByID(uid, two=twObject()): + return two.api.get_user(uid).screen_name + +def getNamesByIDs(fids=getFollowerIDs(), two=twObject()): + for page in setuptools.paginate(fids, 100): + followers = two.api.lookup_users(user_ids=page) + for follower in followers: + yield {"id": follower.id, "name": follower.screen_name} +