tasker_autoremote.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. .. raises:: MissingParameterException
  26. """
  27. if self.key is None:
  28. raise MissingParameterException("key parameter required")
  29. if self.message is None:
  30. raise MissingParameterException("message parameter required")
  31. return True