2021-08-23 18:43:02 -04:00
|
|
|
"""
|
|
|
|
Contains Debian class
|
|
|
|
"""
|
|
|
|
|
2021-10-03 15:44:08 -04:00
|
|
|
from project import Project
|
2022-07-30 01:14:45 -04:00
|
|
|
from shared import CSC_MIRROR
|
|
|
|
import requests
|
|
|
|
from datetime import datetime
|
|
|
|
import time
|
2021-10-03 15:35:17 -04:00
|
|
|
|
2021-10-03 15:44:08 -04:00
|
|
|
class Debian(Project):
|
2021-10-03 15:35:17 -04:00
|
|
|
"""Debian class"""
|
2022-07-30 01:14:45 -04:00
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def check(data, project, current_time):
|
|
|
|
csc_url = CSC_MIRROR + data[project]["csc"] + data[project]["file"]
|
|
|
|
upstream_url = data[project]["upstream"] + data[project]["file"]
|
|
|
|
|
|
|
|
req = requests.get(csc_url)
|
|
|
|
req.raise_for_status()
|
|
|
|
CSC = req.text
|
|
|
|
|
|
|
|
req = requests.get(upstream_url)
|
|
|
|
req.raise_for_status()
|
|
|
|
upstream = req.text
|
|
|
|
|
|
|
|
if upstream == CSC:
|
|
|
|
return True
|
|
|
|
|
|
|
|
CSC_date = datetime.strptime(CSC.partition('\n')[0], "%a %b %d %H:%M:%S UTC %Y")
|
|
|
|
CSC_utc_time = time.mktime(CSC_date.timetuple())
|
|
|
|
|
|
|
|
upstream_date = datetime.strptime(upstream.partition('\n')[0], "%a %b %d %H:%M:%S UTC %Y")
|
|
|
|
upstream_utc_time = time.mktime(upstream_date.timetuple())
|
|
|
|
|
|
|
|
try:
|
|
|
|
return int(upstream_utc_time) - int(CSC_utc_time) < data[project]["out_of_sync_interval"]
|
|
|
|
except ValueError:
|
|
|
|
return False
|