You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.5 KiB
44 lines
1.5 KiB
"""
|
|
Contains GNOME class
|
|
"""
|
|
|
|
import re
|
|
|
|
import requests
|
|
|
|
from distro import Distro
|
|
from shared import CSC_MIRROR
|
|
|
|
|
|
class GNOME(Distro):
|
|
"""GNOME class"""
|
|
|
|
@staticmethod
|
|
def check(data, distro):
|
|
file = data[distro]["file1"]
|
|
csc_versions = requests.get(CSC_MIRROR + data[distro]["csc"] + file).text
|
|
upstream_versions = requests.get(data[distro]["upstream1"] + file).text
|
|
csc_latest = re.findall(r"\"\d+\.?\d*", csc_versions)[-1].lstrip('"')
|
|
upstream_latest = re.findall(r"\"\d+\.?\d*", upstream_versions)[-1].lstrip('"')
|
|
if csc_latest != upstream_latest:
|
|
return False
|
|
file += csc_latest + "/"
|
|
csc_versions = requests.get(CSC_MIRROR + data[distro]["csc"] + file).text
|
|
upstream_versions = requests.get(data[distro]["upstream1"] + file).text
|
|
csc_latest = re.findall(r"\"\d+\.?\w*\.?\w*", csc_versions)[-1].lstrip('"')
|
|
upstream_latest = re.findall(r"\"\d+\.?\w*\.?\w*", upstream_versions)[-1].lstrip('"')
|
|
if csc_latest != upstream_latest:
|
|
return False
|
|
file += csc_latest + "/"
|
|
csc_text = requests.get(CSC_MIRROR + data[distro]["csc"] + file
|
|
+ data[distro]["file2"]).text
|
|
try:
|
|
ret = csc_text == requests.get(data[distro]["upstream2"] + file
|
|
+ data[distro]["file2"]).text
|
|
except requests.exceptions.RequestException:
|
|
ret = False
|
|
try:
|
|
return ret or csc_text == requests.get(data[distro]["upstream3"] + file
|
|
+ data[distro]["file2"]).text
|
|
except requests.exceptions.RequestException:
|
|
return False
|
|
|