PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/ifttt.py |
""" Support for IFTTT .. versionadded:: 2015.8.0 Requires an ``api_key`` in ``/etc/salt/minion``: .. code-block:: yaml ifttt: secret_key: '280d4699-a817-4719-ba6f-ca56e573e44f' """ import logging import time import salt.utils.http import salt.utils.json log = logging.getLogger(__name__) def __virtual__(): """ Only load the module if apache is installed """ if not __salt__["config.get"]("ifttt.secret_key") and not __salt__["config.get"]( "ifttt:secret_key" ): return (False, "IFTTT Secret Key Unavailable, not loading.") return True def _query(event=None, method="GET", args=None, header_dict=None, data=None): """ Make a web call to IFTTT. """ secret_key = __salt__["config.get"]("ifttt.secret_key") or __salt__["config.get"]( "ifttt:secret_key" ) path = f"https://maker.ifttt.com/trigger/{event}/with/key/{secret_key}" if header_dict is None: header_dict = {"Content-type": "application/json"} if method != "POST": header_dict["Accept"] = "application/json" result = salt.utils.http.query( path, method, params={}, data=data, header_dict=header_dict, decode=True, decode_type="auto", text=True, status=True, cookies=True, persist_session=True, opts=__opts__, backend="requests", ) return result def trigger_event(event=None, **kwargs): """ Trigger a configured event in IFTTT. :param event: The name of the event to trigger. :return: A dictionary with status, text, and error if result was failure. """ res = {"result": False, "message": "Something went wrong"} data = {} for value in ("value1", "value2", "value3", "Value1", "Value2", "Value3"): if value in kwargs: data[value.lower()] = kwargs[value] data["occurredat"] = time.strftime("%B %d, %Y %I:%M%p", time.localtime()) result = _query(event=event, method="POST", data=salt.utils.json.dumps(data)) if "status" in result: if result["status"] == 200: res["result"] = True res["message"] = result["text"] else: if "error" in result: res["message"] = result["error"] return res