|
- #!/usr/bin/env python
- # -*- coding: UTF-8 -*-
- import sys
- import json
-
- class Sender(object):
- @classmethod
- def send_email(cls, payload):
- # already done in go code
- pass
-
- @classmethod
- def send_wecom(cls, payload):
- # already done in go code
- pass
-
- @classmethod
- def send_dingtalk(cls, payload):
- # already done in go code
- pass
-
- @classmethod
- def send_feishu(cls, payload):
- # already done in go code
- pass
-
- @classmethod
- def send_sms(cls, payload):
- users = payload.get('event').get("notify_users_obj")
- phones = {}
- for u in users:
- if u.get("phone"):
- phones[u.get("phone")] = 1
- if phones:
- print("send_sms not implemented, phones: {}".format(phones.keys()))
-
- @classmethod
- def send_voice(cls, payload):
- users = payload.get('event').get("notify_users_obj")
- phones = {}
- for u in users:
- if u.get("phone"):
- phones[u.get("phone")] = 1
- if phones:
- print("send_voice not implemented, phones: {}".format(phones.keys()))
-
- def main():
- payload = json.load(sys.stdin)
- with open(".payload", 'w') as f:
- f.write(json.dumps(payload, indent=4))
- for ch in payload.get('event').get('notify_channels'):
- send_func_name = "send_{}".format(ch.strip())
- if not hasattr(Sender, send_func_name):
- print("function: {} not found", send_func_name)
- continue
- send_func = getattr(Sender, send_func_name)
- send_func(payload)
-
- def hello():
- print("hello nightingale")
-
- if __name__ == "__main__":
- if len(sys.argv) == 1:
- main()
- elif sys.argv[1] == "hello":
- hello()
- else:
- print("I am confused")
|