23 lines
846 B
Python
23 lines
846 B
Python
from requests import get, post
|
|
from datetime import datetime as dt, timezone as tz, timedelta
|
|
from time import mktime
|
|
from feedparser import parse
|
|
from json import loads
|
|
from munch import DefaultMunch
|
|
from globals import *
|
|
|
|
now = dt.now(tz.utc)
|
|
eight_hours_ago = now - timedelta(hours=8)
|
|
|
|
for repo_link in repo_links.split(','):
|
|
result = get(repo_link)
|
|
entity = f"{repo_link.split('/')[3]}/{repo_link.split('/')[4]}"
|
|
if result.reason == 'OK':
|
|
last = DefaultMunch.fromDict(parse(result.text)).entries[0]
|
|
timechk = mktime(last.published_parsed or last.updated_parsed)
|
|
if timechk > dt.timestamp(eight_hours_ago):
|
|
if ('prerelease' not in last.title.lower() and 'beta' not in last.title.lower()):
|
|
notify(0, f'new release for {entity}: {last.title} - {last.link}')
|
|
else:
|
|
print(f'no new releases for {entity}')
|