updating latest
This commit is contained in:
144
slack-bot/traffic-scraper/prd/slackBot1.py
Normal file
144
slack-bot/traffic-scraper/prd/slackBot1.py
Normal file
@@ -0,0 +1,144 @@
|
||||
import json
|
||||
import os
|
||||
import glob
|
||||
import sys
|
||||
from datetime import datetime
|
||||
import requests
|
||||
import base64
|
||||
|
||||
sys.path.append(os.getcwd())
|
||||
import pullTrafficInfo
|
||||
|
||||
inst = (
|
||||
pullTrafficInfo.getTrafficInfo.getTrafficURL('M62')
|
||||
.findIncidents()
|
||||
.getIncidentInformation()
|
||||
.generateOutput()
|
||||
.savetoDisk()
|
||||
)
|
||||
|
||||
listOfFiles = glob.glob(f'{os.getcwd()}/*.json')
|
||||
latestFile = max(listOfFiles, key=os.path.getctime)
|
||||
# latestFile = (f'{os.getcwd()}/12-10-2019_03:23:21.json')
|
||||
# latestFile = (f'{os.getcwd()}/12-10-2019_16:13:43.json')
|
||||
|
||||
with open(latestFile, 'r') as jsonFile:
|
||||
data = json.load(jsonFile)
|
||||
|
||||
# print(data)
|
||||
|
||||
congestionMessage = None
|
||||
accidentMessage = None
|
||||
congestionMessageStart = None
|
||||
congestionMessageEnd = None
|
||||
accidentMessageStart = None
|
||||
|
||||
accidentMessageEnd = None
|
||||
|
||||
messageTitle = data[0]
|
||||
end = data[-1]
|
||||
|
||||
length = len(data)
|
||||
for i, message in zip(range(0, length), data):
|
||||
if (
|
||||
'There are currently no reported congestion incidents on the M62 🤔'
|
||||
in message
|
||||
):
|
||||
congestionTitle = 'Congestion Incidents'
|
||||
congestionMessage = message
|
||||
|
||||
elif 'congestion incidents on the M62 😱' in message:
|
||||
congestionTitle = message
|
||||
congestionMessageStart = i + 1
|
||||
|
||||
if (
|
||||
'There are currently no reported accident incidents on the M62 🤔'
|
||||
in message
|
||||
):
|
||||
congestionMessageEnd = i
|
||||
accidentTitle = 'Accident Incidents'
|
||||
accidentMessage = message
|
||||
|
||||
elif 'accident incidents on the M62 😱' in message:
|
||||
congestionMessageEnd = i
|
||||
accidentTitle = message
|
||||
accidentMessageStart = i + 1
|
||||
accidentMessageEnd = length - 1
|
||||
|
||||
|
||||
if congestionMessage is None:
|
||||
congestionMessage = data[congestionMessageStart:congestionMessageEnd]
|
||||
congestionMessage = ''.join(congestionMessage)
|
||||
|
||||
if accidentMessage is None:
|
||||
accidentMessage = data[accidentMessageStart:accidentMessageEnd]
|
||||
accidentMessage = ''.join(accidentMessage)
|
||||
|
||||
# print(f'messageTitle: {messageTitle}' + '\n')
|
||||
# print(f'congestionTitle: {congestionTitle}' + '\n')
|
||||
# print(f'congestionMessage: {congestionMessage}' + '\n')
|
||||
# print(f'accidentTitle: {accidentTitle}' + '\n')
|
||||
# print(f'accidentMessage: {accidentMessage}' + '\n')
|
||||
# print(f'end: {end}')
|
||||
|
||||
payload = """{\"attachments\": [\n {\n \"title\": \"\",\n \"pretext\": \"Did someone say M62!? \\ud83d\\ude27\",\n \"text\": \"\",\n \"mrkdwn_in\": [\"text\", \"pretext\"],\n \"footer\": \"ec2-54-246-210-90.eu-west-1.compute.amazonaws.com\",\n \"footer_icon\": \"https://i.imgur.com/ADsI87O.png\",\n \"ts\": \"1570917914\",\n \"fields\": [\n\t\t \t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"\",\n\t\t \"short\": false\n\t\t \t},\n\t\t \t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"\",\n\t\t \"short\": false\n\t\t \t},\n\t \t\t{\n\t\t \"title\": \"\",\n\t\t \"value\": \" \",\n\t\t \"short\": false\n\t\t \t}\n\t \t]\n }\n ]\n}"""
|
||||
|
||||
jsonPayload = json.loads(payload)
|
||||
|
||||
timeNow = datetime.now().timestamp()
|
||||
|
||||
|
||||
jsonPayload['attachments'][0]['title'] = f'{messageTitle}'
|
||||
# print(jsonPayload['attachments'][0]['title'])
|
||||
|
||||
jsonPayload['attachments'][0]['ts'] = timeNow
|
||||
# print(jsonPayload['attachments'][0]['ts'])
|
||||
|
||||
jsonPayload['attachments'][0]['fields'][0]['title'] = f'{congestionTitle}'
|
||||
# print(jsonPayload['attachments'][0]['fields'][0]['title'])
|
||||
|
||||
jsonPayload['attachments'][0]['fields'][0]['value'] = f'{congestionMessage}'
|
||||
# print(jsonPayload['attachments'][0]['fields'][0]['value'])
|
||||
|
||||
jsonPayload['attachments'][0]['fields'][1]['title'] = f'{accidentTitle}'
|
||||
# print(jsonPayload['attachments'][0]['fields'][1]['title'])
|
||||
|
||||
jsonPayload['attachments'][0]['fields'][1]['value'] = f'{accidentMessage}'
|
||||
# print(jsonPayload['attachments'][0]['fields'][1]['value'])
|
||||
|
||||
jsonPayload['attachments'][0]['fields'][2]['value'] = f'{end}'
|
||||
# print(jsonPayload['attachments'][0]['fields'][2]['value'])
|
||||
|
||||
newJsonPayload = json.dumps(jsonPayload)
|
||||
# print(newJsonPayload)
|
||||
|
||||
with open(f'{os.getcwd()}/slackURL.json', 'r') as slackURL:
|
||||
url = json.load(slackURL)
|
||||
|
||||
url = base64.b64decode(url.encode()).decode()
|
||||
|
||||
querystring = {"": ""}
|
||||
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': 'PostmanRuntime/7.17.1',
|
||||
'Accept': '*/*',
|
||||
'Cache-Control': 'no-cache',
|
||||
'Postman-Token': 'a4b63f2d-43b1-4ce7-898a-2fd03952ad7d,46ba7deb-472c-4328'
|
||||
'-a261-9c2000da2f11',
|
||||
'Host': 'hooks.slack.com',
|
||||
'Accept-Encoding': 'gzip, deflate',
|
||||
'Content-Length': '1277',
|
||||
'Connection': 'keep-alive',
|
||||
'cache-control': 'no-cache',
|
||||
}
|
||||
|
||||
response = requests.request(
|
||||
'POST',
|
||||
url,
|
||||
data=newJsonPayload.encode(),
|
||||
headers=headers,
|
||||
params=querystring,
|
||||
)
|
||||
|
||||
print(response.text)
|
||||
Reference in New Issue
Block a user