2021-06-22 12:31:41 +00:00
|
|
|
|
#!/usr/bin/python3
|
|
|
|
|
import os,sys,subprocess
|
|
|
|
|
from datetime import datetime, timezone, timedelta
|
|
|
|
|
|
|
|
|
|
if not os.path.isfile(sys.path[0]+'/slack-webhook-url.txt'):
|
|
|
|
|
print('==============================================================')
|
|
|
|
|
print(' HOWDY! ')
|
|
|
|
|
print('slack-notifier.py can help let you know when your sim is done.')
|
|
|
|
|
print('To make it work, please supply your Slack bot webhook URL in:')
|
|
|
|
|
print(sys.path[0]+'/slack-webhook-url.txt')
|
2022-05-18 23:50:31 +00:00
|
|
|
|
print('Tutorial for slack webhook urls: https://bit.ly/BenSlackNotifier')
|
2021-06-22 12:31:41 +00:00
|
|
|
|
print('==============================================================')
|
|
|
|
|
else:
|
|
|
|
|
urlFile = open(sys.path[0]+'/slack-webhook-url.txt','r')
|
|
|
|
|
url = urlFile.readline().strip('\n')
|
|
|
|
|
|
|
|
|
|
# Traverse 3 parents up the process tree
|
|
|
|
|
result = subprocess.check_output('ps -o ppid -p $PPID',shell=True)
|
|
|
|
|
PPID2 = str(result).split('\\n')[1]
|
|
|
|
|
result = subprocess.check_output('ps -o ppid -p '+PPID2,shell=True)
|
|
|
|
|
PPID3 = str(result).split('\\n')[1]
|
|
|
|
|
# Get command name
|
|
|
|
|
result = subprocess.check_output('ps -o cmd -p '+PPID3,shell=True)
|
|
|
|
|
cmdName = str(result).split('\\n')[1]
|
|
|
|
|
# Get current time
|
|
|
|
|
timezone_offset = -8.0 # Pacific Standard Time (UTC−08:00)
|
|
|
|
|
tzinfo = timezone(timedelta(hours=timezone_offset))
|
|
|
|
|
time = datetime.now(tzinfo).strftime('%I:%M %p')
|
|
|
|
|
# Send message
|
|
|
|
|
message = 'Command `'+cmdName+'` completed at '+time+' PST'
|
|
|
|
|
result = subprocess.run('curl -X POST -H \'Content-type: application/json\' --data \'{"text":"'+message+'"}\' '+url,shell=True,stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL)
|
|
|
|
|
print('Simulation stopped. Sending Slack message.')
|