From d58b7af395720b56f245560bc8950c8edebd5f0a Mon Sep 17 00:00:00 2001 From: Raymond Li Date: Fri, 21 Jan 2022 12:22:03 -0500 Subject: [PATCH] alt-impl --- data.json | 849 +++++++++++++++++++++++++++-------------------------- main.py | 8 +- project.py | 10 +- 3 files changed, 437 insertions(+), 430 deletions(-) diff --git a/data.json b/data.json index db769c7..6c10331 100644 --- a/data.json +++ b/data.json @@ -1,425 +1,428 @@ { - "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/", - "file": "lastupdate" - }, - "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://download.opensuse.org/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": "", - "upstream": "https://download.documentfoundation.org/TIMESTAMP", - "file": "tdf/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_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://repo.almalinux.org/", + "file": "almalinux/TIME" + }, + "Alpine": { + "out_of_sync_for": 1642568523, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://uk.alpinelinux.org/", + "file": "alpine/last-updated" + }, + "Apache": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "apache/", + "upstream": "https://downloads.apache.org/", + "file": "zzz/time.txt" + }, + "Arch": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "archlinux/", + "upstream": "http://arch.mirror.constant.com/", + "file": "lastupdate" + }, + "Artix": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "artixlinux/", + "upstream": "https://mirror1.artixlinux.org/repos/", + "file": "lastupdate", + "exclude": true + }, + "CentOS": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://mirrors.edge.kernel.org/", + "file": "centos/TIME" + }, + "Ceph": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "ceph/", + "upstream": "https://download.ceph.com/", + "file": "timestamp" + }, + "CPAN": { + "out_of_sync_interval": 172800 + }, + "cran": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://cran.r-project.org/mirmon_report.html", + "file": "" + }, + "ctan": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://www.ctan.org/mirrors/mirmon", + "file": "" + }, + "Cygwin": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "cygwin/", + "upstream": "https://cygwin.com/pub/cygwin/", + "file": "x86/sha512.sum", + "exclude": true + }, + "Debian": { + "out_of_sync_for": 1642741322, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://ftp-master.debian.org/", + "file": "debian/project/trace/master", + "exclude": true + }, + "DebianCD": { + "out_of_sync_for": 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_for": 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_for": 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_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://deb.debian.org/", + "file": "debian-security/project/trace/master" + }, + "Eclipse": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 172800, + "csc": "eclipse/", + "upstream": "http://download.eclipse.org/", + "file": "TIME" + }, + "Fedora": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "fedora/", + "upstream": "http://fedora.mirror.iweb.com/", + "file": "linux/development/rawhide/COMPOSE_ID" + }, + "FreeBSD": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "http://ftp4.freebsd.org/pub/", + "file": "FreeBSD/TIMESTAMP" + }, + "GentooDistfiles": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "gentoo-distfiles", + "upstream": "http://gentoo.mirrors.tera-byte.com/", + "file": "distfiles/timestamp.dev-local" + }, + "GentooPortage": { + "out_of_sync_for": 1642741322, + "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_for": 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_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://mirrors.kernel.org/", + "file": "gnu/mirror-updated-timestamp.txt" + }, + "Gutenberg": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 172800, + "csc": "gutenberg/", + "upstream": "https://gutenberg.pglaf.org/", + "file": "gutenberg.dcs" + }, + "IPFire": { + "out_of_sync_for": null, + "out_of_sync_interval": 172800 + }, + "KDE": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "kde/", + "upstream": "https://kde.c3sl.ufpr.br/", + "file": "ls-lR" + }, + "KDEApplicationData": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "kde-applicationdata/", + "upstream": "https://cdn.files.kde.org/", + "file": "last-updated" + }, + "Kernel": { + "out_of_sync_for": 1642654922, + "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_for": null, + "out_of_sync_interval": 86400, + "csc": "linuxmint/", + "upstream": "https://mirrors.edge.kernel.org/linuxmint/", + "file": "" + }, + "linuxmint_packages": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "linuxmint-packages/", + "upstream": "https://mirrors.edge.kernel.org/linuxmint-packages/", + "file": "dists/" + }, + "macports": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "MacPorts/mpdistfiles/", + "upstream": "https://distfiles.macports.org/", + "file": "ports.tar.gz" + }, + "manjaro": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://repo.manjaro.org/", + "file": "" + }, + "mxlinux": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "http://rsync-mxlinux.org/mirmon/packages.html", + "file": "" + }, + "mxlinux_iso": { + "out_of_sync_for": 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_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "mysql/", + "upstream": "http://mirrors.sunsite.dk/mysql/", + "file": "last-updated.txt" + }, + "netbsd": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "NetBSD/", + "upstream": "http://ftp.netbsd.org/pub/NetBSD/", + "file": "" + }, + "nongnu": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "nongnu/", + "upstream": "http://download-mirror.savannah.gnu.org/releases/", + "file": "00_TIME.txt" + }, + "OpenBSD": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://ftp.openbsd.org/pub/", + "file": "OpenBSD/timestamp", + "exclude": true + }, + "opensuse": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "opensuse/update/", + "upstream": "http://download.opensuse.org/update/", + "file": "" + }, + "parabola": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "parabola/", + "upstream": "https://repo.parabola.nu/", + "file": "lastsync" + }, + "pkgsrc": { + "out_of_sync_for": 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_for": null, + "out_of_sync_interval": 86400, + "csc": "puppylinux/", + "upstream": "https://distro.ibiblio.org/puppylinux/", + "file": "" + }, + "qtproject": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "qtproject/", + "upstream": "https://download.qt.io/", + "file": "timestamp.txt", + "exclude": true + }, + "racket": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "racket/racket-installers/", + "upstream": "https://mirror.racket-lang.org/installers/", + "file": "" + }, + "raspberrypi": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "raspberrypi/debian/", + "upstream": "https://archive.raspberrypi.org/debian/", + "file": "dists/" + }, + "raspbian": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "raspbian/", + "upstream": "http://archive.raspbian.org/", + "file": "snapshotindex.txt" + }, + "sage": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "", + "file": "sage/src/index.html" + }, + "saltstack": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "saltstack/", + "upstream": "https://repo.saltproject.io/", + "file": "" + }, + "slackware": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "slackware/", + "upstream": "https://mirrors.slackware.com/slackware/", + "file": "" + }, + "tdf": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://download.documentfoundation.org/TIMESTAMP", + "file": "tdf/TIMESTAMP" + }, + "trisquel": { + "out_of_sync_for": 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_for": null, + "out_of_sync_interval": 86400, + "csc": "", + "upstream": "https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-archive", + "file": "" + }, + "ubuntu_ports": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "ubuntu-ports/", + "upstream": "http://ports.ubuntu.com/ubuntu-ports/", + "file": "dists/" + }, + "ubuntu_ports_releases": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "ubuntu-ports-releases/", + "upstream": "https://cdimage.ubuntu.com/releases/", + "file": "" + }, + "ubuntu_releases": { + "out_of_sync_for": null, + "out_of_sync_interval": 172800, + "csc": "", + "upstream": "https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-release", + "file": "" + }, + "vlc": { + "out_of_sync_for": 1642369986, + "out_of_sync_interval": 86400, + "csc": "vlc/", + "upstream": "http://download.videolan.org/pub/videolan/", + "file": "trace" + }, + "x_org": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "x.org/individual/", + "upstream": "https://www.x.org/releases/individual/", + "file": "" + }, + "xiph": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "xiph/releases/", + "upstream": "https://ftp.osuosl.org/pub/xiph/releases/", + "file": "" + }, + "xubuntu_releases": { + "out_of_sync_for": null, + "out_of_sync_interval": 86400, + "csc": "xubuntu-releases/", + "upstream": "https://cdimage.ubuntu.com/xubuntu/releases/", + "file": "" + } } diff --git a/main.py b/main.py index d8ab140..ab1b176 100644 --- a/main.py +++ b/main.py @@ -45,12 +45,8 @@ if __name__ == "__main__": # Exit with non-zero status if any of the projects are not up-to-date exit_code = 1 continue - if checker_result: - data[project]["out_of_sync_since"] = None - elif data[project]["out_of_sync_since"] is None: - data[project]["out_of_sync_since"] = current_time - elif current_time - data[project]["out_of_sync_since"] \ - > data[project]["out_of_sync_interval"]: + data[project]["out_of_sync_for"] = checker_result + if checker_result > data[project]["out_of_sync_interval"]: safe_print(f"Failure: {project} out-of-sync") # Exit with non-zero status if any of the projects are not up-to-date diff --git a/project.py b/project.py index 90664ad..023b2f9 100644 --- a/project.py +++ b/project.py @@ -3,6 +3,7 @@ Contains abstract class for a mirrored project """ from abc import ABC +import re import requests @@ -17,4 +18,11 @@ class Project(ABC): """Check if project packages are up-to-date""" csc_url = CSC_MIRROR + data[project]["csc"] + data[project]["file"] upstream_url = data[project]["upstream"] + data[project]["file"] - return requests.get(csc_url).text == requests.get(upstream_url).text + CSC = requests.get(csc_url).text + upstream = requests.get(upstream_url).text + bad_re = '[a-zA-Z \-\n]+' + if re.search(bad_re, CSC): + print(re.search(bad_re, CSC).group()) + CSC = re.sub(bad_re, '', CSC) + upstream = re.sub(bad_re, '', upstream) + return int(upstream) - int(CSC)