71 lines
3.0 KiB
Python
71 lines
3.0 KiB
Python
#!/usr/bin/python3
|
|
import sys
|
|
import json
|
|
import os
|
|
import argparse
|
|
|
|
|
|
def usage():
|
|
pformat = "%-7s%-7s%-10s%-10s%-10s%-10s%-10s"
|
|
sformat = "%-23s%-18s%-16s%-14s%-14s%-12s%-12s"
|
|
print(pformat % ('must', 'must', 'optional', 'optional', 'optional', 'optional', 'optional'))
|
|
print(pformat % ('title', 'body', 'sound', 'icon', 'group', 'badge', 'isArchive'))
|
|
print(pformat % ('-', '-', '2.0-alarm', '-', 'default', '-', '1'))
|
|
print(pformat % ('-', '-', '1.4-bell', '-', 'docker', '-', '1'))
|
|
print(pformat % ('-', '-', '1.6-bloom', '-', 'frp', '-', '1'))
|
|
print("\nThe 'sound' parameter also accepts the following as its value:")
|
|
print(sformat % ("1.8-healthnotification", "2.6-typewriters", "2.9-newsflash", "1.5-mailsent", "1.5-tiptoes", "4.5-update", "2.9-spell"))
|
|
print(sformat % ("2.2-multiwayinvitation", "4.5-anticipate", "1.2-telegraph", "0.9-calypso", "1.5-newmail", "1.7-glass", "2.2-choo"))
|
|
print(sformat % ("1.4-paymentsuccess", "1.5-electronic", "0.7-birdsong", "1.9-descent", "1.3-ladder", "4.5-chime", "1.5-horn"))
|
|
print(sformat % ("4.7-sherwoodforest", "3.0-gotosleep", "4.2-suspense", "1.5-fanfare", "7.0-minuet", "0.6-shake", "1.9-noir"))
|
|
print()
|
|
|
|
|
|
def getParams(
|
|
title='test',
|
|
body='hello...',
|
|
sound='',
|
|
icon='',
|
|
group='default',
|
|
badge='1',
|
|
isarchive=1,
|
|
):
|
|
|
|
params_dict = {'title': title, 'body': body, 'sound': sound, 'icon': icon, 'group': group, 'badge': '1', 'isarchive': '1'}
|
|
params_json = json.dumps(params_dict)
|
|
with open('/opt/scripts/alert/bark/option.json', 'w') as obj_option:
|
|
obj_option.write(params_json)
|
|
|
|
os.system('/usr/bin/bash /opt/scripts/alert/bark/ciphertxt.sh')
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) < 5:
|
|
usage()
|
|
parser = argparse.ArgumentParser(description='Prepare arguements for bark')
|
|
parser.add_argument('--title', help='标题,必要参数', required=True)
|
|
parser.add_argument('--body', help='主题内容,必要参数', required=True)
|
|
parser.add_argument('--sound', help='提示音,非必要参数,有默认值', default='alarm')
|
|
parser.add_argument('--icon', help='图标,非必要参数,有默认值', default='0')
|
|
parser.add_argument('--group', help='群组,非必要参数,有默认值', default='default')
|
|
parser.add_argument('--badge', help='角标,非必要参数,有默认值', default='1')
|
|
parser.add_argument('--isarchive', help='是否自动归档,非必要参数,有默认值', default='1')
|
|
# if len(sys.argv) == 1:
|
|
# print('Need at least 2 parameters, and most can have 7 parameters, exiting...')
|
|
# usage()
|
|
args = parser.parse_args()
|
|
title = args.title
|
|
body = args.body
|
|
sound = args.sound
|
|
icon = 'https://www.rustle.cc/assets/img/logos/' + str(args.icon) + '.jpg'
|
|
group = args.group
|
|
badge = args.badge
|
|
isarchive = args.isarchive
|
|
getParams(title, body, sound, icon, group, badge, isarchive)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|
|
|