The list_subscribers function belongs in TwitterClient
authorMagnus Hagander <magnus@hagander.net>
Sat, 28 Aug 2010 12:01:51 +0000 (14:01 +0200)
committerMagnus Hagander <magnus@hagander.net>
Sat, 28 Aug 2010 12:01:51 +0000 (14:01 +0200)
synctwitter.py
twitterclient.py

index 3d22ab94de40b1d910f72a8b3d5480e1fc80ef9d..7fa0e3c0372beca77b27b99cb5fd38b69e57fef2 100755 (executable)
@@ -27,8 +27,7 @@ class SyncTwitter(TwitterClient):
                expected = set([r[0] for r in curs.fetchall()])
 
                # Get list of current screen names the list is following
-               response = self.twitter_request('%s/subscribers/members.json' % self.twittername)
-               current = set([x['screen_name'] for x in response['users']])
+               current = set(self.list_subscribers())
 
                # Start by deleting, then adding the new ones
                map(self.remove_subscriber, current.difference(expected))
index 6e5e10158974f277eb7ae8fe97242e7f7011c3e9..de47e3dd36ef2b3dff10b31019a6b1ad804f731c 100644 (file)
@@ -56,6 +56,10 @@ class TwitterClient(object):
                instream.close()
                return json.loads(ret)
 
+       def list_subscribers(self):
+               response = self.twitter_request('%s/subscribers/members.json' % self.twittername)
+               return [x['screen_name'] for x in response['users']]
+
        def remove_subscriber(self, name):
                print "Removing twitter user %s from list." % name
                self.twitter_request('%s/subscribers/members.json' % self.twittername,'POST', {