tasker_autoremote.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import logging
  2. import requests
  3. from core.NeuronModule import NeuronModule, MissingParameterException
  4. logging.basicConfig()
  5. logger = logging.getLogger("kalliope")
  6. class Tasker_autoremote(NeuronModule):
  7. def __init__(self, **kwargs):
  8. super(Tasker_autoremote, self).__init__(**kwargs)
  9. # check if parameters have been provided
  10. self.key = kwargs.get('key', None)
  11. self.message = kwargs.get('message', None)
  12. # check parameters
  13. if self._is_parameters_ok():
  14. # create the payload
  15. data = {'key': self.key,
  16. 'message': self.message}
  17. url = "https://autoremotejoaomgcd.appspot.com/sendmessage"
  18. # post
  19. r = requests.post(url, data=data)
  20. logging.debug("Post to tasker automore response: %s" % r.status_code)
  21. def _is_parameters_ok(self):
  22. """
  23. Check if received parameters are ok to perform operations in the neuron
  24. :return: true if parameters are ok, raise an exception otherwise
  25. """
  26. if self.key is None:
  27. raise MissingParameterException("key parameter required")
  28. if self.message is None:
  29. raise MissingParameterException("message parameter required")
  30. return True