[gimp-web: 1/2] tools: add simple download mirrors checker
- From: Michael Schumacher <schumaml src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-web: 1/2] tools: add simple download mirrors checker
- Date: Wed, 10 Jun 2020 15:35:23 +0000 (UTC)
commit b1cdebd5c648414d8af9b5da22b1e339409915d3
Author: Michael Schumacher <schumaml gmx de>
Date: Wed Jun 10 15:30:29 2020 +0200
tools: add simple download mirrors checker
tools/downloads/downloads.http.txt | 19 +++++++++++++++
tools/downloads/gimp-check-mirrors.py | 45 +++++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
---
diff --git a/tools/downloads/downloads.http.txt b/tools/downloads/downloads.http.txt
new file mode 100644
index 00000000..cca5b1a0
--- /dev/null
+++ b/tools/downloads/downloads.http.txt
@@ -0,0 +1,19 @@
+https://artfiles.org/gimp.org/pub/gimp/
+https://ftp.acc.umu.se/pub/gimp/gimp/
+https://ftp.cc.uoc.gr/mirrors/gimp/
+https://ftp.fau.de/gimp/gimp/
+https://ftp.gwdg.de/pub/misc/grafik/gimp/
+https://ftp.icm.edu.pl/pub/graphics/gimp/
+https://ftp.lysator.liu.se/pub/gimp/
+https://ftp.snt.utwente.nl/pub/software/gimp/gimp/
+https://gimp.ip-connect.info/gimp/
+https://mirror.jaleco.com/gimp/gimp/
+https://mirror.klaus-uwe.me/gimp/gimp/
+https://mirrors.dotsrc.org/gimp/gimp/
+https://mirrors.syringanetworks.net/gimp/gimp/
+https://mirrors.ukfast.co.uk/sites/gimp.org/pub/gimp/
+https://mirrors.xmission.com/gimp/gimp/
+https://mirror.umd.edu/gimp/gimp/
+https://www.mirrorservice.org/sites/ftp.gimp.org/pub/gimp/
+https://www.nic.funet.fi/pub/mirrors/ftp.gimp.org/
+https://download.gimp.org/pub/gimp/
diff --git a/tools/downloads/gimp-check-mirrors.py b/tools/downloads/gimp-check-mirrors.py
new file mode 100644
index 00000000..9ce840fd
--- /dev/null
+++ b/tools/downloads/gimp-check-mirrors.py
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+
+import argparse
+import fileinput
+import urllib.request
+from urllib.error import HTTPError
+import concurrent.futures
+
+# argparse for mirrorsfile and uri
+parser = argparse.ArgumentParser(description='Check if GIMP download mirrors have a file from
download.gimp.org.')
+parser.add_argument('--mirrorsfile', metavar='<file>',
+ help='A file with one download mirror per line, either https:// or http://. Is expected
to point to the equivalent of https://download.gimp.org/pub/gimp/, as some mirrors only have that directory
structure.')
+parser.add_argument('--uri', metavar='<uri>',
+ help='URI pointing to the file on download.gimp.org, e.g.
https://download.gimp.org/pub/gimp/v2.10/gimp-2.10.20.tar.bz2')
+
+args = parser.parse_args()
+#print(vars(args))
+
+# get local path
+dgo_uri = args.uri
+dgo_uri_local = dgo_uri.replace('https://download.gimp.org/pub/gimp/', '')
+dgo_uri_local = dgo_uri.replace('https://download.gimp.org/mirror/pub/gimp/', '')
+
+
+def load_url(url, timeout):
+ with urllib.request.urlopen(url, timeout=timeout) as conn:
+ return conn.read()
+
+# read mirrors file
+# fileinput.
+#with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
+with fileinput.input(files=(args.mirrorsfile), mode='r') as f:
+ for line in f:
+ mirror_uri = line.strip() + dgo_uri_local
+ request = urllib.request.Request(url=mirror_uri, method='HEAD')
+
+ # future_to_url = executor.submit(load_url, request, 60)
+
+ # for future in concurrent.futures.as_completed(future_to_url):
+ try:
+ #data= future.result()
+ response = urllib.request.urlopen(request)
+ print(str(response.status) + ' : ' + mirror_uri)
+ except HTTPError as error:
+ print(str(error.code) + ' : ' + mirror_uri)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]