1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import twitter
- from core.NeuronModule import NeuronModule, InvalidParameterException
- class Twitter(NeuronModule):
- def __init__(self, **kwargs):
- super(Twitter, self).__init__(**kwargs)
- self.consumer_key = kwargs.get('consumer_key', None)
- self.consumer_secret = kwargs.get('consumer_secret', None)
- self.access_token_key = kwargs.get('access_token_key', None)
- self.access_token_secret = kwargs.get('access_token_secret', None)
- self.tweet = kwargs.get('tweet', None)
- # check parameters
- if self._is_parameters_ok():
- api = twitter.Api(consumer_key=self.consumer_key,
- consumer_secret=self.consumer_secret,
- access_token_key=self.access_token_key,
- access_token_secret=self.access_token_secret)
- status = api.PostUpdate(self.tweet)
- message = {
- "tweet" : status.text
- }
- self.say(message)
- def _is_parameters_ok(self):
- """
- Check if received parameters are ok to perform operations in the neuron
- :return: true if parameters are ok, raise an exception otherwise
- .. raises:: InvalidParameterException
- """
- if self.consumer_key is None:
- raise InvalidParameterException("Twitter needs a consumer_key")
- if self.consumer_secret is None:
- raise InvalidParameterException("Twitter needs a consumer_secret")
- if self.access_token_key is None:
- raise InvalidParameterException("Twitter needs an access_token_key")
- if self.access_token_secret is None:
- raise InvalidParameterException("Twitter needs and access_token_secret")
- if self.tweet is None:
- raise InvalidParameterException("You need to provide something to tweet !")
- return True
|