Пример #1
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()
Пример #2
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()
Пример #3
0
 def act(self, force_act=False, action=None, skip_responses=False):
     """
     returns:
         (action, response) tuple.  response type depends on the action that was performed.
     """        
     if not force_act:
         config = ConfigurationAccessor.get_or_create()
         if config and (config.is_tweeting is not None) and (not safe_int(config.is_tweeting)):
             logging.debug("config.is_tweeting is False; hiding")
             return ()
     
     result = []
     responded = False
     if not skip_responses:
         try:
             direct, response = self.respond()
             if (direct or response):
                 # a response to a direct message or mention was generated
                 responded = True
                 if direct:
                     result.append(direct.AsDict())
                 if response:
                     result.append(response.AsDict())
         except Exception, e:
             logging.error(e)
Пример #4
0
    def act(self, force_act=False, action=None, skip_responses=False):
        """
        returns:
            (action, response) tuple.  response type depends on the action that was performed.
        """
        if not force_act:
            config = ConfigurationAccessor.get_or_create()
            if config and (config.is_tweeting
                           is not None) and (not safe_int(config.is_tweeting)):
                logging.debug("config.is_tweeting is False; hiding")
                return ()

        result = []
        responded = False
        if not skip_responses:
            try:
                direct, response = self.respond()
                if (direct or response):
                    # a response to a direct message or mention was generated
                    responded = True
                    if direct:
                        result.append(direct.AsDict())
                    if response:
                        result.append(response.AsDict())
            except Exception, e:
                logging.error(e)
Пример #5
0
 def new_api(cls):
     config = ConfigurationAccessor.get_or_create()
     if config and config.twitter_oauth_enabled and config.twitter_access_token:
         logging.debug("creating OAuth API instance")
         api = cls._new_oauth_api(config.twitter_access_token)
     else:
         raise Exception("no OAuth token stored in config")
         
     if safe_int(config.twitter_read_only):
         logging.debug("creating read-only Twitter API")
         api = ReadOnlyTwitterApi(api)
     return api
Пример #6
0
    def new_api(cls):
        config = ConfigurationAccessor.get_or_create()
        if config and config.twitter_oauth_enabled and config.twitter_access_token:
            logging.debug("creating OAuth API instance")
            api = cls._new_oauth_api(config.twitter_access_token)
        else:
            raise Exception("no OAuth token stored in config")

        if safe_int(config.twitter_read_only):
            logging.debug("creating read-only Twitter API")
            api = ReadOnlyTwitterApi(api)
        return api
Пример #7
0
 def get(self, key):
     helper = RequestHelper(self)
     config = ConfigurationAccessor.get_or_create()
     result = None
     if config:
         if key:
             if entity_has_property(config, key):
                 result = getattr(config, key)
             else:
                 helper.error(400, "invalid key")
                 return
         else:
             result = entity_to_hash(config)
     else:
         result = {}
     helper.write_json(result)
Пример #8
0
 def get(self, key):
     helper = RequestHelper(self)
     config = ConfigurationAccessor.get_or_create()
     result = None
     if config:
         if key:
             if entity_has_property(config, key):
                 result = getattr(config, key)
             else:
                 helper.error(400, "invalid key")
                 return
         else:
             result = entity_to_hash(config)
     else:
         result = {}
     helper.write_json(result)
Пример #9
0
def _build_standard_config(moxer):
    moxer.StubOutWithMock(ConfigurationAccessor, "get_or_create")
    config = moxer.CreateMock(Configuration)
    ConfigurationAccessor.get_or_create().AndReturn(config)
    config.is_tweeting = None
    return config
Пример #10
0
 def __mock_config(self, config, moxer):
     moxer.StubOutWithMock(ConfigurationAccessor, "get_or_create")
     ConfigurationAccessor.get_or_create().AndReturn(config)
Пример #11
0
def _build_standard_config(moxer):
    moxer.StubOutWithMock(ConfigurationAccessor, "get_or_create")
    config = moxer.CreateMock(Configuration)
    ConfigurationAccessor.get_or_create().AndReturn(config)
    config.is_tweeting = None
    return config
Пример #12
0
 def __mock_config(self, config, moxer):
     moxer.StubOutWithMock(ConfigurationAccessor, "get_or_create")
     ConfigurationAccessor.get_or_create().AndReturn(config)