Push_message.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from __future__ import absolute_import
  2. from pushetta import Pushetta
  3. from core.NeuronModule import NeuronModule
  4. class Push_message(NeuronModule):
  5. """
  6. Neuron based on pushetta api. http://www.pushetta.com/
  7. """
  8. def __init__(self, **kwargs):
  9. """
  10. Send a push message to an android phone via Pushetta API
  11. :param message: Message to send
  12. :param api_key: The Pushetta service secret token
  13. :param channel_name: Pushetta channel name
  14. :return:
  15. """
  16. super(Push_message, self).__init__(**kwargs)
  17. self.message = kwargs.get('message', None)
  18. self.api_key = kwargs.get('api_key', None)
  19. self.channel_name = kwargs.get('channel_name', None)
  20. # check if parameters have been provided
  21. if self._is_parameters_ok():
  22. p = Pushetta( self.api_key)
  23. p.pushMessage(self.channel_name, self.message)
  24. def _is_parameters_ok(self):
  25. """
  26. Check if received parameters are ok to perform operations in the neuron
  27. :return: true if parameters are ok, raise an exception otherwise
  28. """
  29. if self.message is None:
  30. raise NotImplementedError("Pushetta neuron needs message to send")
  31. if self.api_key is None:
  32. raise NotImplementedError("Pushetta neuron needs api_key")
  33. if self.channel_name is None:
  34. raise NotImplementedError("Pushetta neuron needs channel_name")
  35. return True