forked from public/mirror-checker
Compare commits
10 Commits
feature-re
...
master
Author | SHA1 | Date |
---|---|---|
Raymond Li | 90bde5a754 | |
Justin Toft | 55f3e7bcbe | |
Justin Toft | 860d5c8e44 | |
Raymond Li | 65b06ac0a8 | |
Justin Toft | 5afebc8030 | |
Raymond Li | 54d8a47944 | |
Rio Liu | 789f0cd662 | |
Raymond Li | e1ef917af0 | |
Raymond Li | 73bc2b5ade | |
Raymond Li | 4a3cedfb07 |
847
data.json
847
data.json
|
@ -1,424 +1,425 @@
|
|||
{
|
||||
"AlmaLinux": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://repo.almalinux.org/",
|
||||
"file": "almalinux/TIME"
|
||||
},
|
||||
"Alpine": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://uk.alpinelinux.org/",
|
||||
"file": "alpine/last-updated"
|
||||
},
|
||||
"Apache": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "apache/",
|
||||
"upstream": "https://downloads.apache.org/",
|
||||
"file": "zzz/time.txt"
|
||||
},
|
||||
"Arch": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "archlinux/",
|
||||
"upstream": "http://arch.mirror.constant.com/",
|
||||
"file": "lastupdate"
|
||||
},
|
||||
"Artix": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "artixlinux/",
|
||||
"upstream": "https://mirror1.artixlinux.org/repos/"
|
||||
},
|
||||
"CentOS": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://mirrors.edge.kernel.org/",
|
||||
"file": "centos/TIME"
|
||||
},
|
||||
"Ceph": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "ceph/",
|
||||
"upstream": "https://download.ceph.com/",
|
||||
"file": "timestamp"
|
||||
},
|
||||
"CPAN": {
|
||||
"out_of_sync_interval": 172800
|
||||
},
|
||||
"cran": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://cran.r-project.org/mirmon_report.html",
|
||||
"file": ""
|
||||
},
|
||||
"ctan": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://www.ctan.org/mirrors/mirmon",
|
||||
"file": ""
|
||||
},
|
||||
"Cygwin": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "cygwin/",
|
||||
"upstream": "https://cygwin.com/pub/cygwin/",
|
||||
"file": "x86/sha512.sum"
|
||||
},
|
||||
"Debian": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://ftp-master.debian.org/",
|
||||
"file": "debian/project/trace/master"
|
||||
},
|
||||
"DebianCD": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "http://debian.mirror.estruxture.net/",
|
||||
"file": "debian-cd/project/trace/cdimage.debian.org"
|
||||
},
|
||||
"DebianMultimedia": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "debian-multimedia/",
|
||||
"upstream": "http://debian-mirrors.sdinet.de/deb-multimedia/",
|
||||
"file": "project/trace/deb-multimedia.org"
|
||||
},
|
||||
"DebianPorts": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://deb.debian.org/",
|
||||
"file": "debian-ports/project/trace/porta.debian.org",
|
||||
"exclude": true
|
||||
},
|
||||
"DebianSecurity": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://deb.debian.org/",
|
||||
"file": "debian-security/project/trace/master"
|
||||
},
|
||||
"Eclipse": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800,
|
||||
"csc": "eclipse/",
|
||||
"upstream": "http://download.eclipse.org/",
|
||||
"file": "TIME"
|
||||
},
|
||||
"Fedora": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "fedora/",
|
||||
"upstream": "http://fedora.mirror.iweb.com/",
|
||||
"file": "linux/development/rawhide/COMPOSE_ID"
|
||||
},
|
||||
"FreeBSD": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "http://ftp4.freebsd.org/pub/",
|
||||
"file": "FreeBSD/TIMESTAMP"
|
||||
},
|
||||
"GentooDistfiles": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "gentoo-distfiles/",
|
||||
"upstream": "http://gentoo.mirrors.tera-byte.com/",
|
||||
"file": "distfiles/timestamp.dev-local"
|
||||
},
|
||||
"GentooPortage": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "rsync://rsync4.ca.gentoo.org/",
|
||||
"upstream": "https://mirrorstats.gentoo.org/rsync/",
|
||||
"upstream1": "rsync://rsync1.de.gentoo.org/",
|
||||
"upstream2": "rsync://rsync8.de.gentoo.org/",
|
||||
"file": "gentoo-portage/Manifest"
|
||||
},
|
||||
"GNOME": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "gnome/",
|
||||
"upstream1": "https://download.gnome.org/",
|
||||
"upstream2": "https://mirrors.dotsrc.org/gnome/",
|
||||
"upstream3": "https://muug.ca/mirror/gnome/",
|
||||
"file1": "core/",
|
||||
"file2": "cache.json"
|
||||
},
|
||||
"GNU": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://mirrors.kernel.org/",
|
||||
"file": "gnu/mirror-updated-timestamp.txt"
|
||||
},
|
||||
"Gutenberg": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800,
|
||||
"csc": "gutenberg/",
|
||||
"upstream": "https://gutenberg.pglaf.org/",
|
||||
"file": "gutenberg.dcs"
|
||||
},
|
||||
"IPFire": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800
|
||||
},
|
||||
"KDE": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "kde/",
|
||||
"upstream": "https://kde.c3sl.ufpr.br/",
|
||||
"file": "ls-lR"
|
||||
},
|
||||
"KDEApplicationData": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "kde-applicationdata/",
|
||||
"upstream": "https://cdn.files.kde.org/",
|
||||
"file": "last-updated"
|
||||
},
|
||||
"Kernel": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "kernel.org/",
|
||||
"upstream": "https://mirrors.edge.kernel.org/pub/",
|
||||
"file": "linux/kernel/next/sha256sums.asc"
|
||||
},
|
||||
"linuxmint": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "linuxmint/",
|
||||
"upstream": "https://mirrors.edge.kernel.org/linuxmint/",
|
||||
"file": ""
|
||||
},
|
||||
"linuxmint_packages": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "linuxmint-packages/",
|
||||
"upstream": "https://mirrors.edge.kernel.org/linuxmint-packages/",
|
||||
"file": "dists/"
|
||||
},
|
||||
"macports": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "MacPorts/mpdistfiles/",
|
||||
"upstream": "https://distfiles.macports.org/",
|
||||
"file": "ports.tar.gz"
|
||||
},
|
||||
"manjaro": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://repo.manjaro.org/",
|
||||
"file": ""
|
||||
},
|
||||
"mxlinux": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "http://rsync-mxlinux.org/mirmon/packages.html",
|
||||
"file": ""
|
||||
},
|
||||
"mxlinux_iso": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "mxlinux-iso/",
|
||||
"upstream": "http://rsync-mxlinux.org/mirmon/index.html",
|
||||
"mirrors": [
|
||||
"http://mirror.its.dal.ca/mxlinux-cd/",
|
||||
"http://mirror.umd.edu/mxlinux-iso/"
|
||||
],
|
||||
"file": ""
|
||||
},
|
||||
"mySQL": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "mysql/",
|
||||
"upstream": "http://mirrors.sunsite.dk/mysql/",
|
||||
"file": "last-updated.txt"
|
||||
},
|
||||
"netbsd": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "NetBSD/",
|
||||
"upstream": "http://ftp.netbsd.org/pub/NetBSD/",
|
||||
"file": ""
|
||||
},
|
||||
"nongnu": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "nongnu/",
|
||||
"upstream": "http://download-mirror.savannah.gnu.org/releases/",
|
||||
"file": "00_TIME.txt"
|
||||
},
|
||||
"OpenBSD": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://ftp.openbsd.org/pub/",
|
||||
"file": "OpenBSD/timestamp",
|
||||
"exclude": true
|
||||
},
|
||||
"opensuse": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "opensuse/update/",
|
||||
"upstream": "http://opensuse-mirror-gce-us.opensu.se/update/",
|
||||
"file": ""
|
||||
},
|
||||
"parabola": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "parabola/",
|
||||
"upstream": "https://repo.parabola.nu/",
|
||||
"file": "lastsync"
|
||||
},
|
||||
"pkgsrc": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "pkgsrc/",
|
||||
"upstream": "http://ftp.netbsd.org/pub/pkgsrc/",
|
||||
"file": "MIRROR-TIMESTAMP",
|
||||
"exclude": true
|
||||
},
|
||||
"puppy_linux": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "puppylinux/",
|
||||
"upstream": "https://distro.ibiblio.org/puppylinux/",
|
||||
"file": ""
|
||||
},
|
||||
"qtproject": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "qtproject/",
|
||||
"upstream": "https://download.qt.io/",
|
||||
"file": "timestamp.txt",
|
||||
"exclude": true
|
||||
},
|
||||
"racket": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "racket/racket-installers/",
|
||||
"upstream": "https://mirror.racket-lang.org/installers/",
|
||||
"file": ""
|
||||
},
|
||||
"raspberrypi": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "raspberrypi/debian/",
|
||||
"upstream": "https://archive.raspberrypi.org/debian/",
|
||||
"file": "dists/"
|
||||
},
|
||||
"raspbian": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "raspbian/",
|
||||
"upstream": "http://archive.raspbian.org/",
|
||||
"file": "snapshotindex.txt"
|
||||
},
|
||||
"sage": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "",
|
||||
"file": "sage/src/index.html"
|
||||
},
|
||||
"saltstack": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "saltstack/",
|
||||
"upstream": "https://repo.saltproject.io/",
|
||||
"file": ""
|
||||
},
|
||||
"slackware": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "slackware/",
|
||||
"upstream": "https://mirrors.slackware.com/slackware/",
|
||||
"file": ""
|
||||
},
|
||||
"tdf": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "tdf/",
|
||||
"upstream": "https://download.documentfoundation.org/",
|
||||
"file": "TIMESTAMP"
|
||||
},
|
||||
"trisquel": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "trisquel/",
|
||||
"upstream": "http://rsync.trisquel.info/trisquel/dists/",
|
||||
"mirrors": [
|
||||
"https://mirror.fsf.org/trisquel-images/",
|
||||
"http://mirrors.ocf.berkeley.edu/trisquel-images/"
|
||||
],
|
||||
"file": ""
|
||||
},
|
||||
"ubuntu": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-archive",
|
||||
"file": ""
|
||||
},
|
||||
"ubuntu_ports": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "ubuntu-ports/",
|
||||
"upstream": "http://ports.ubuntu.com/ubuntu-ports/",
|
||||
"file": "dists/"
|
||||
},
|
||||
"ubuntu_ports_releases": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "ubuntu-ports-releases/",
|
||||
"upstream": "https://cdimage.ubuntu.com/releases/",
|
||||
"file": ""
|
||||
},
|
||||
"ubuntu_releases": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800,
|
||||
"csc": "",
|
||||
"upstream": "https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-release",
|
||||
"file": ""
|
||||
},
|
||||
"vlc": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "vlc/",
|
||||
"upstream": "http://download.videolan.org/pub/videolan/",
|
||||
"file": "trace"
|
||||
},
|
||||
"x_org": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "x.org/individual/",
|
||||
"upstream": "https://www.x.org/releases/individual/",
|
||||
"file": ""
|
||||
},
|
||||
"xiph": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "xiph/releases/",
|
||||
"upstream": "https://ftp.osuosl.org/pub/xiph/releases/",
|
||||
"file": ""
|
||||
},
|
||||
"xubuntu_releases": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "xubuntu-releases/",
|
||||
"upstream": "https://cdimage.ubuntu.com/xubuntu/releases/",
|
||||
"file": ""
|
||||
}
|
||||
}
|
||||
"AlmaLinux": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://repo.almalinux.org/",
|
||||
"file": "almalinux/TIME"
|
||||
},
|
||||
"Alpine": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://uk.alpinelinux.org/",
|
||||
"file": "alpine/last-updated"
|
||||
},
|
||||
"Apache": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "apache/",
|
||||
"upstream": "https://downloads.apache.org/",
|
||||
"file": "zzz/time.txt"
|
||||
},
|
||||
"Arch": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "archlinux/",
|
||||
"upstream": "http://arch.mirror.constant.com/",
|
||||
"file": "lastupdate"
|
||||
},
|
||||
"Artix": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "artixlinux/",
|
||||
"upstream": "https://mirror1.artixlinux.org/repos/"
|
||||
},
|
||||
"CentOS": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://mirrors.edge.kernel.org/",
|
||||
"file": "centos/TIME"
|
||||
},
|
||||
"Ceph": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "ceph/",
|
||||
"upstream": "https://download.ceph.com/",
|
||||
"file": "timestamp"
|
||||
},
|
||||
"CPAN": {
|
||||
"out_of_sync_interval": 172800,
|
||||
"out_of_sync_since": null
|
||||
},
|
||||
"cran": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://cran.r-project.org/mirmon_report.html",
|
||||
"file": ""
|
||||
},
|
||||
"ctan": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://www.ctan.org/mirrors/mirmon",
|
||||
"file": ""
|
||||
},
|
||||
"Cygwin": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "cygwin/",
|
||||
"upstream": "https://cygwin.com/pub/cygwin/",
|
||||
"file": "x86/sha512.sum"
|
||||
},
|
||||
"Debian": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://ftp-master.debian.org/",
|
||||
"file": "debian/project/trace/master"
|
||||
},
|
||||
"DebianCD": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "http://debian.mirror.estruxture.net/",
|
||||
"file": "debian-cd/project/trace/cdimage.debian.org"
|
||||
},
|
||||
"DebianMultimedia": {
|
||||
"out_of_sync_since": 1659116719,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "debian-multimedia/",
|
||||
"upstream": "http://debian-mirrors.sdinet.de/deb-multimedia/",
|
||||
"file": "project/trace/deb-multimedia.org"
|
||||
},
|
||||
"DebianPorts": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://deb.debian.org/",
|
||||
"file": "debian-ports/project/trace/porta.debian.org",
|
||||
"exclude": true
|
||||
},
|
||||
"DebianSecurity": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://deb.debian.org/",
|
||||
"file": "debian-security/project/trace/master"
|
||||
},
|
||||
"Eclipse": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800,
|
||||
"csc": "eclipse/",
|
||||
"upstream": "http://download.eclipse.org/",
|
||||
"file": "TIME"
|
||||
},
|
||||
"Fedora": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 259200,
|
||||
"csc": "fedora/",
|
||||
"upstream": "http://fedora.mirror.iweb.com/",
|
||||
"file": "linux/development/rawhide/COMPOSE_ID"
|
||||
},
|
||||
"FreeBSD": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "http://ftp4.freebsd.org/pub/",
|
||||
"file": "FreeBSD/TIMESTAMP"
|
||||
},
|
||||
"GentooDistfiles": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "gentoo-distfiles/",
|
||||
"upstream": "http://gentoo.mirrors.tera-byte.com/",
|
||||
"file": "distfiles/timestamp.dev-local"
|
||||
},
|
||||
"GentooPortage": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "rsync://rsync4.ca.gentoo.org/",
|
||||
"upstream": "https://mirrorstats.gentoo.org/rsync/",
|
||||
"upstream1": "rsync://rsync1.de.gentoo.org/",
|
||||
"upstream2": "rsync://rsync8.de.gentoo.org/",
|
||||
"file": "gentoo-portage/Manifest"
|
||||
},
|
||||
"GNOME": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "gnome/",
|
||||
"upstream1": "https://download.gnome.org/",
|
||||
"upstream2": "https://mirrors.dotsrc.org/gnome/",
|
||||
"upstream3": "https://muug.ca/mirror/gnome/",
|
||||
"file1": "core/",
|
||||
"file2": "cache.json"
|
||||
},
|
||||
"GNU": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://mirrors.kernel.org/",
|
||||
"file": "gnu/mirror-updated-timestamp.txt"
|
||||
},
|
||||
"Gutenberg": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800,
|
||||
"csc": "gutenberg/",
|
||||
"upstream": "https://gutenberg.pglaf.org/",
|
||||
"file": "gutenberg.dcs"
|
||||
},
|
||||
"IPFire": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800
|
||||
},
|
||||
"KDE": {
|
||||
"out_of_sync_since": 1659116720,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "kde/",
|
||||
"upstream": "https://kde.c3sl.ufpr.br/",
|
||||
"file": "ls-lR"
|
||||
},
|
||||
"KDEApplicationData": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "kde-applicationdata/",
|
||||
"upstream": "https://cdn.files.kde.org/",
|
||||
"file": "last-updated"
|
||||
},
|
||||
"Kernel": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "kernel.org/",
|
||||
"upstream": "https://mirrors.edge.kernel.org/pub/",
|
||||
"file": "linux/kernel/next/sha256sums.asc"
|
||||
},
|
||||
"linuxmint": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "linuxmint/",
|
||||
"upstream": "https://mirrors.edge.kernel.org/linuxmint/",
|
||||
"file": ""
|
||||
},
|
||||
"linuxmint_packages": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "linuxmint-packages/",
|
||||
"upstream": "https://mirrors.edge.kernel.org/linuxmint-packages/",
|
||||
"file": "dists/"
|
||||
},
|
||||
"macports": {
|
||||
"out_of_sync_since": 1642827723,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "MacPorts/mpdistfiles/",
|
||||
"upstream": "https://distfiles.macports.org/",
|
||||
"file": "ports.tar.gz"
|
||||
},
|
||||
"manjaro": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://repo.manjaro.org/",
|
||||
"file": ""
|
||||
},
|
||||
"mxlinux": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "http://rsync-mxlinux.org/mirmon/packages.html",
|
||||
"file": ""
|
||||
},
|
||||
"mxlinux_iso": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "mxlinux-iso/",
|
||||
"upstream": "http://rsync-mxlinux.org/mirmon/index.html",
|
||||
"mirrors": [
|
||||
"http://mirror.its.dal.ca/mxlinux-cd/",
|
||||
"http://mirror.umd.edu/mxlinux-iso/"
|
||||
],
|
||||
"file": ""
|
||||
},
|
||||
"mySQL": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "mysql/",
|
||||
"upstream": "http://mirrors.sunsite.dk/mysql/",
|
||||
"file": "last-updated.txt"
|
||||
},
|
||||
"netbsd": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "NetBSD/",
|
||||
"upstream": "http://ftp.netbsd.org/pub/NetBSD/",
|
||||
"file": ""
|
||||
},
|
||||
"nongnu": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "nongnu/",
|
||||
"upstream": "http://download-mirror.savannah.gnu.org/releases/",
|
||||
"file": "00_TIME.txt"
|
||||
},
|
||||
"OpenBSD": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://ftp.openbsd.org/pub/",
|
||||
"file": "OpenBSD/timestamp",
|
||||
"exclude": true
|
||||
},
|
||||
"opensuse": {
|
||||
"out_of_sync_since": 1648699331,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "opensuse/update/",
|
||||
"upstream": "http://opensuse-mirror-gce-us.opensu.se/update/",
|
||||
"file": ""
|
||||
},
|
||||
"parabola": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "parabola/",
|
||||
"upstream": "https://repo.parabola.nu/",
|
||||
"file": "lastsync"
|
||||
},
|
||||
"pkgsrc": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "pkgsrc/",
|
||||
"upstream": "http://ftp.netbsd.org/pub/pkgsrc/",
|
||||
"file": "MIRROR-TIMESTAMP",
|
||||
"exclude": true
|
||||
},
|
||||
"puppy_linux": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "puppylinux/",
|
||||
"upstream": "https://distro.ibiblio.org/puppylinux/",
|
||||
"file": ""
|
||||
},
|
||||
"qtproject": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "qtproject/",
|
||||
"upstream": "https://download.qt.io/",
|
||||
"file": "timestamp.txt",
|
||||
"exclude": true
|
||||
},
|
||||
"racket": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "racket/racket-installers/",
|
||||
"upstream": "https://mirror.racket-lang.org/installers/",
|
||||
"file": ""
|
||||
},
|
||||
"raspberrypi": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "raspberrypi/debian/",
|
||||
"upstream": "https://archive.raspberrypi.org/debian/",
|
||||
"file": "dists/"
|
||||
},
|
||||
"raspbian": {
|
||||
"out_of_sync_since": 1659116721,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "raspbian/",
|
||||
"upstream": "http://archive.raspbian.org/",
|
||||
"file": "snapshotindex.txt"
|
||||
},
|
||||
"sage": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "",
|
||||
"file": "sage/src/index.html"
|
||||
},
|
||||
"saltstack": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "saltstack/",
|
||||
"upstream": "https://repo.saltproject.io/",
|
||||
"file": ""
|
||||
},
|
||||
"slackware": {
|
||||
"out_of_sync_since": 1642827723,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "slackware/",
|
||||
"upstream": "https://mirrors.slackware.com/slackware/",
|
||||
"file": ""
|
||||
},
|
||||
"tdf": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "tdf/",
|
||||
"upstream": "https://download.documentfoundation.org/",
|
||||
"file": "TIMESTAMP"
|
||||
},
|
||||
"trisquel": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "trisquel/",
|
||||
"upstream": "http://rsync.trisquel.info/trisquel/dists/",
|
||||
"mirrors": [
|
||||
"https://mirror.fsf.org/trisquel-images/",
|
||||
"http://mirrors.ocf.berkeley.edu/trisquel-images/"
|
||||
],
|
||||
"file": ""
|
||||
},
|
||||
"ubuntu": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "",
|
||||
"upstream": "https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-archive",
|
||||
"file": ""
|
||||
},
|
||||
"ubuntu_ports": {
|
||||
"out_of_sync_since": 1651550528,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "ubuntu-ports/",
|
||||
"upstream": "http://ports.ubuntu.com/ubuntu-ports/",
|
||||
"file": "dists/"
|
||||
},
|
||||
"ubuntu_ports_releases": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "ubuntu-ports-releases/",
|
||||
"upstream": "https://cdimage.ubuntu.com/releases/",
|
||||
"file": ""
|
||||
},
|
||||
"ubuntu_releases": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 172800,
|
||||
"csc": "",
|
||||
"upstream": "https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-archive",
|
||||
"file": ""
|
||||
},
|
||||
"vlc": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "vlc/",
|
||||
"upstream": "http://download.videolan.org/pub/videolan/",
|
||||
"file": "trace"
|
||||
},
|
||||
"x_org": {
|
||||
"out_of_sync_since": 1657512131,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "x.org/individual/",
|
||||
"upstream": "https://www.x.org/releases/individual/",
|
||||
"file": ""
|
||||
},
|
||||
"xiph": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "xiph/releases/",
|
||||
"upstream": "https://ftp.osuosl.org/pub/xiph/releases/",
|
||||
"file": ""
|
||||
},
|
||||
"xubuntu_releases": {
|
||||
"out_of_sync_since": null,
|
||||
"out_of_sync_interval": 86400,
|
||||
"csc": "xubuntu-releases/",
|
||||
"upstream": "https://cdimage.ubuntu.com/xubuntu/releases/",
|
||||
"file": ""
|
||||
}
|
||||
}
|
|
@ -18,7 +18,7 @@ class cran(Project):
|
|||
page = requests.get(data[project]["upstream"]).text
|
||||
indexOfFile = page.find("mirror.csclub.uwaterloo.ca")
|
||||
|
||||
m = re.search(r'(\d+ hour)|(\d+ hours)|(\d+(\.)?\d+ days)', page[indexOfFile:]) # solution from: https://stackoverflow.com/questions/21074100/how-to-convert-standard-timedelta-string-to-timedelta-object/21074460
|
||||
m = re.search(r'(\d+ minutes?)|(\d+ hours?)|(\d+(\.)?\d+ days?)', page[indexOfFile:])
|
||||
|
||||
duration = pd.to_timedelta(m.group(0))
|
||||
data[project]["out_of_sync_since"] = current_time - duration.total_seconds()
|
||||
|
|
|
@ -18,7 +18,7 @@ class ctan(Project):
|
|||
page = requests.get(data[project]["upstream"]).text
|
||||
indexOfFile = page.find("mirror.csclub.uwaterloo.ca")
|
||||
|
||||
m = re.search(r'(\d+ hour)|(\d+ hours)|(\d+(\.)?\d+ days)', page[indexOfFile:]) # solution from: https://stackoverflow.com/questions/21074100/how-to-convert-standard-timedelta-string-to-timedelta-object/21074460
|
||||
m = re.search(r'(\d+ minutes?)|(\d+ hours?)|(\d+(\.)?\d+ days?)', page[indexOfFile:])
|
||||
|
||||
|
||||
duration = pd.to_timedelta(m.group(0))
|
||||
|
|
|
@ -3,7 +3,37 @@ Contains Debian class
|
|||
"""
|
||||
|
||||
from project import Project
|
||||
|
||||
from shared import CSC_MIRROR
|
||||
import requests
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
class Debian(Project):
|
||||
"""Debian class"""
|
||||
|
||||
@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
|
||||
|
|
|
@ -3,7 +3,40 @@ Contains DebianCD class
|
|||
"""
|
||||
|
||||
from project import Project
|
||||
|
||||
from shared import CSC_MIRROR
|
||||
import requests
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
class DebianCD(Project):
|
||||
"""DebianCD class"""
|
||||
|
||||
@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
|
||||
|
||||
# Date Format Example: Sun 27 Mar 00:20:12 UTC 2022
|
||||
date_format = "%a %d %b %H:%M:%S UTC %Y\n"
|
||||
|
||||
CSC_date = datetime.strptime(CSC, date_format)
|
||||
CSC_utc_time = time.mktime(CSC_date.timetuple())
|
||||
|
||||
upstream_date = datetime.strptime(upstream, date_format)
|
||||
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
|
||||
|
|
|
@ -3,7 +3,40 @@ Contains Fedora class
|
|||
"""
|
||||
|
||||
from project import Project
|
||||
|
||||
from shared import CSC_MIRROR
|
||||
import requests
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
class Fedora(Project):
|
||||
"""Fedora class"""
|
||||
|
||||
@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
|
||||
|
||||
# Date example: Fedora-Rawhide-20220725.n.1
|
||||
date_format = "%Y%m%d"
|
||||
|
||||
CSC_date = datetime.strptime(CSC[15:23], "%Y%m%d")
|
||||
CSC_utc_time = time.mktime(CSC_date.timetuple())
|
||||
|
||||
upstream_date = datetime.strptime(upstream[15:23], "%Y%m%d")
|
||||
upstream_utc_time = time.mktime(upstream_date.timetuple())
|
||||
|
||||
try:
|
||||
return upstream_utc_time - CSC_utc_time < data[project]["out_of_sync_interval"]
|
||||
except ValueError:
|
||||
return False
|
||||
|
|
|
@ -3,7 +3,35 @@ Contains GentooDistfiles class
|
|||
"""
|
||||
|
||||
from project import Project
|
||||
|
||||
from shared import CSC_MIRROR
|
||||
import requests
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
class GentooDistfiles(Project):
|
||||
"""GentooDistfiles class"""
|
||||
|
||||
@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_utc_time = CSC[0:11]
|
||||
|
||||
upstream_utc_time = upstream[0:11]
|
||||
|
||||
try:
|
||||
return int(upstream_utc_time) - int(CSC_utc_time) < data[project]["out_of_sync_interval"]
|
||||
except ValueError:
|
||||
return False
|
||||
|
|
|
@ -18,7 +18,7 @@ class mxlinux(Project):
|
|||
page = requests.get(data[project]["upstream"]).text
|
||||
indexOfFile = page.find("mirror.csclub.uwaterloo.ca")
|
||||
|
||||
m = re.search(r'(\d+ hour)|(\d+ hours)|(\d+(\.)?\d+ days)', page[indexOfFile:]) # solution from: https://stackoverflow.com/questions/21074100/how-to-convert-standard-timedelta-string-to-timedelta-object/21074460
|
||||
m = re.search(r'(\d+ minutes?)|(\d+ hours?)|(\d+(\.)?\d+ days?)', page[indexOfFile:])
|
||||
|
||||
duration = pd.to_timedelta(m.group(0))
|
||||
data[project]["out_of_sync_since"] = current_time - duration.total_seconds()
|
||||
|
|
|
@ -19,7 +19,7 @@ class mxlinux_iso(Project):
|
|||
page = requests.get(data[project]["upstream"]).text
|
||||
indexOfFile = page.find("mirror.csclub.uwaterloo.ca")
|
||||
|
||||
m = re.search(r'(\d+ hour)|(\d+ hours)|(\d+(\.)?\d+ days)', page[indexOfFile:]) # solution from: https://stackoverflow.com/questions/21074100/how-to-convert-standard-timedelta-string-to-timedelta-object/21074460
|
||||
m = re.search(r'(\d+ minutes?)|(\d+ hours?)|(\d+(\.)?\d+ days?)', page[indexOfFile:])
|
||||
|
||||
duration = pd.to_timedelta(m.group(0))
|
||||
|
||||
|
|
|
@ -3,6 +3,31 @@ Contains nongnu class
|
|||
"""
|
||||
|
||||
from project import Project
|
||||
from shared import CSC_MIRROR
|
||||
import requests
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
class nongnu(Project):
|
||||
"""nongnu class"""
|
||||
"""nongnu class"""
|
||||
|
||||
@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
|
||||
|
||||
try:
|
||||
return int(upstream.partition('\n')[0]) - int(CSC.partition('\n')[0]) < data[project]["out_of_sync_interval"]
|
||||
except ValueError:
|
||||
return False
|
||||
|
|
|
@ -23,7 +23,8 @@ class raspberrypi(Project):
|
|||
for i in s.find_all("a"): # for a href directories
|
||||
href = i.attrs['href']
|
||||
|
||||
if href.endswith("/") and href != "../" and href != "/":
|
||||
# The raspberry pi server doesn't use a relative path to the parent directory
|
||||
if href.endswith("/") and href != "../" and href != "/" and href != "/debian/":
|
||||
site_next = site+href+"Release"
|
||||
|
||||
if site_next not in urls:
|
||||
|
@ -43,6 +44,7 @@ class raspberrypi(Project):
|
|||
# calling function
|
||||
cls.scrape(urls1, csc_url)
|
||||
cls.scrape(urls2, upstream_url)
|
||||
|
||||
|
||||
if (len(urls1) != len(urls2)):
|
||||
return False
|
||||
|
|
|
@ -34,7 +34,7 @@ class slackware(Project):
|
|||
hrefs2 = [i.attrs['href'] for i in s2.find_all("a")]
|
||||
|
||||
for href in hrefs1: # for a href directories
|
||||
if href.endswith("/") and href != "../" and href != "/" and not href.startswith("/") and not re.match(r'slackware-([1-7]|8\.0).*', href) and href != "slackware-iso/" and href != "slackware-current/" and href != "slackware-pre-1.0-beta/" and href != "unsupported/":
|
||||
if href.endswith("/") and href != "../" and href != "/" and not href.startswith("/") and not re.match(r'slackware-([1-7]|8\.0).*', href) and href != "slackware-iso/" and href != "slackware-current/" and href != "slackware-pre-1.0-beta/" and href != "unsupported/" and not href.startswith("http"):
|
||||
# print(href)
|
||||
if href not in hrefs2:
|
||||
return False
|
||||
|
|
|
@ -5,6 +5,7 @@ Contains ubuntu class
|
|||
import os
|
||||
from project import Project
|
||||
from shared import CSC_MIRROR
|
||||
from shared import NUM_UBUNTU_RELEASES
|
||||
import requests
|
||||
import datefinder # another date finding library
|
||||
from datetime import timedelta
|
||||
|
@ -17,4 +18,4 @@ class ubuntu(Project):
|
|||
@staticmethod
|
||||
def check(data, project, current_time):
|
||||
page = requests.get(data[project]["upstream"]).text
|
||||
return page.count("Up to date") == 21
|
||||
return page.count("Up to date") == NUM_UBUNTU_RELEASES
|
||||
|
|
|
@ -5,6 +5,7 @@ Contains ubuntu_releases class
|
|||
import os
|
||||
from project import Project
|
||||
from shared import CSC_MIRROR
|
||||
from shared import NUM_UBUNTU_RELEASES
|
||||
import requests
|
||||
import datefinder # another date finding library
|
||||
from datetime import timedelta
|
||||
|
@ -17,10 +18,4 @@ class ubuntu_releases(Project):
|
|||
@staticmethod
|
||||
def check(data, project, current_time):
|
||||
page = requests.get(data[project]["upstream"]).text
|
||||
indexOfFile = page.find("last verified")
|
||||
matches = list(datefinder.find_dates(page[indexOfFile:]))
|
||||
date = matches[0].replace(tzinfo=None) # date is of type datetime.datetime
|
||||
data[project]["out_of_sync_since"] = date.timestamp()
|
||||
return(pd.to_datetime(current_time, unit='s') - date <= pd.to_timedelta(data[project]["out_of_sync_interval"], unit='s'))
|
||||
|
||||
# https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-release
|
||||
return page.count("Up to date") == NUM_UBUNTU_RELEASES
|
||||
|
|
Loading…
Reference in New Issue