#!/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()