Skip to content

Instantly share code, notes, and snippets.

@lmeulen
Created November 14, 2021 10:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lmeulen/95742bc719ab5c95e1c955b5f4751dd3 to your computer and use it in GitHub Desktop.
Save lmeulen/95742bc719ab5c95e1c955b5f4751dd3 to your computer and use it in GitHub Desktop.
fia_doc_trigger_complete
import requests
import os
from bs4 import BeautifulSoup
from urllib.parse import quote
IFTTT_KEY = '<YOUR API KEY>'
STATUS_FILE = "status_fia.dat"
BASE_LINK = "https://www.fia.com"
DOCS_URL = BASE_LINK + "/documents/season/season-2021-1108/championships/fia-formula-one-world-championship-14"
def trigger_ifttt(trigger, data):
requests.post("https://maker.ifttt.com/trigger/" + trigger + "/with/key/" + IFTTT_KEY, data=data)
def get_saved_value(datafile, default=''):
if os.path.isfile(datafile):
with open(datafile) as f:
return f.readline()
else:
return default
def save_value(datafile, status):
with open(datafile, "w") as f:
f.write(str(status))
if __name__ == '__main__':
content = requests.get(DOCS_URL)
soup = BeautifulSoup(content.text, features='lxml')
docs = soup.find('ul', {'class': 'document-row-wrapper'}).findAll('li')
i = 0
last_doc = get_saved_value(STATUS_FILE, '')
for doc in docs:
link = BASE_LINK + quote(doc.find('a')['href'].strip())
desc = doc.find('div', {'class': 'title'}).text.strip()
if i == 0:
save_value(STATUS_FILE, link)
if link == last_doc:
break
i += 1
print('New document' + desc + ' - ' + link)
trigger_ifttt('FIA_document', {'value1': desc, 'value2': link})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment