예제 #1
0
 def get(self, path):
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     try:
         result_hash = t_api.FetchResource("%s" % path)
         logging.debug("result_hash: %s" % result_hash)
         helper.write_json(result_hash)
     except twitter.TwitterError, e:
         helper.write(e)
예제 #2
0
 def post(self):
     helper = RequestHelper(self)
     
     if not len(self.request.body):
         helper.error(400, "body required")
         return
         
     decoded_body = urllib.unquote(self.request.body)
     t_api = TwitterConnector.new_api()
     status = t_api.PostUpdate(decoded_body)
     helper.write_json(status.asDict())
예제 #3
0
 def get(self, username):
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     friends = t_api.GetFriends()
     found = None
     for f in friends:
         if f.screen_name == username:
             found = f
             break
     result = {}
     result['friend'] = True if found else False
     helper.write_json(result)
예제 #4
0
 def get(self, page):
     helper = RequestHelper(self)
     page = int(page)
     t_api = TwitterConnector.new_api()
     raw_mentions = t_api.getReplies(page=page)
     pretty_mentions = []
     for m in raw_mentions:
         d = dict(id=m.id, 
             created=m.created_at,
             user=m.user.screen_name,
             text=m.text)
         pretty_mentions.append(d)
     helper.write_json(pretty_mentions)
예제 #5
0
    def test_read_only(self):
        m = Mox()

        config = m.CreateMock(Configuration)
        config.twitter_access_token = "oauth_token=1234&oauth_token_secret=5678"
        config.twitter_read_only = "1"

        m.StubOutWithMock(ConfigurationAccessor, "get_or_create")
        ConfigurationAccessor.get_or_create().AndReturn(config)

        m.ReplayAll()
        api = TwitterConnector.new_api()
        self.__assert_is_instance(api, ReadOnlyTwitterApi)
        m.VerifyAll()
예제 #6
0
 def test_read_only(self):
     m = Mox()
     
     config = m.CreateMock(Configuration)
     config.twitter_access_token = "oauth_token=1234&oauth_token_secret=5678"
     config.twitter_read_only = "1"
     
     m.StubOutWithMock(ConfigurationAccessor, "get_or_create")
     ConfigurationAccessor.get_or_create().AndReturn(config)
     
     m.ReplayAll()
     api = TwitterConnector.new_api()
     self.__assert_is_instance(api, ReadOnlyTwitterApi)
     m.VerifyAll()
예제 #7
0
 def get(self):
     # friend to follower ratio, used to find non-spam followers
     ff_ratio = self.request.get("ratio")
     
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     
     filtered_followers = ([user_hash(u) for u in t_api.GetFollowers()])
     if ff_ratio:
         filtered_followers = filter(lambda u: u['follower-to-friend-ratio'] > float(ff_ratio), 
             filtered_followers)
         
     followers = sorted_user_list(filtered_followers)
     helper.write_json(followers)
예제 #8
0
 def get(self):
     helper = RequestHelper(self)
     result = dict(
         twitter_api=get_full_class_name(TwitterConnector.new_api()))
     result["sys.getdefaultencoding"] = sys.getdefaultencoding()
     helper.write_json(result)
예제 #9
0
def new_mock_twitter_api(moxer):
    moxer.StubOutWithMock(TwitterConnector, "new_api")
    api = moxer.CreateMock(twitter.Api)
    TwitterConnector.new_api().AndReturn(api)
    return api
예제 #10
0
 def get(self):
     helper = RequestHelper(self)
     result = dict(twitter_api=get_full_class_name(TwitterConnector.new_api()))
     result["sys.getdefaultencoding"] = sys.getdefaultencoding()
     helper.write_json(result)
예제 #11
0
 def delete(self, username):
     """ unfollows the specified user """
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     t_api.DestroyFriendship(username)
     helper.set_status(204)
예제 #12
0
 def put(self, username):
     """ follows the specified user """
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     t_api.CreateFriendship(username)
     helper.set_status(204)
예제 #13
0
 def get(self):
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     friends = sorted_user_list([user_hash(u) for u in t_api.GetFriends()])
     helper.write_json(friends)
예제 #14
0
 def get(self):
     c = self.request.get("c", 20)
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     statuses = [describe_status(s) for s in t_api.getPublicTimeline()]
     helper.write_json(statuses)
예제 #15
0
 def get(self, username):
     helper = RequestHelper(self)
     t_api = TwitterConnector.new_api()
     user = t_api.GetUser(username)
     helper.write_json(user_hash(user))
예제 #16
0
def new_mock_twitter_api(moxer):
    moxer.StubOutWithMock(TwitterConnector, "new_api")
    api = moxer.CreateMock(twitter.Api)
    TwitterConnector.new_api().AndReturn(api)
    return api