commit: d0f37a2cb9734439c2d69f74c16ffb0489a30280
Author: i.Dark_Templar <darktemplar <AT> dark-templar-archives <DOT> net>
AuthorDate: Sat May 26 15:28:53 2018 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat May 26 15:40:31 2018 +0000
URL: https://gitweb.gentoo.org/proj/mirrorselect.git/commit/?id=d0f37a2c
Mirrorselect: add 'exclude' option to allow excluding hosts from mirrors list.
mirrorselect.8 | 3 +++
mirrorselect/main.py | 7 +++++++
2 files changed, 10 insertions(+)
diff --git a/mirrorselect.8 b/mirrorselect.8
index cd7b8bb..3a1e304 100644
--- a/mirrorselect.8
+++ b/mirrorselect.8
@@ -96,6 +96,9 @@ download mirrors. If this is not specified, a default of 1 is
used.
.TP
.BI \-t " TIMEOUT " "\fR,\fP \-timeout" " TIMEOUT "
Timeout for deep mode. Defaults to 10 seconds.
+.TP
+.BI \-e " EXCLUDE " "\fR,\fP \-exclude" " EXCLUDE "
+Exclude host from mirrors list.
.SH "EXAMPLES"
automatic:
diff --git a/mirrorselect/main.py b/mirrorselect/main.py
index 04698f3..b49461b 100755
--- a/mirrorselect/main.py
+++ b/mirrorselect/main.py
@@ -243,6 +243,9 @@ class MirrorSelect(object):
group.add_option(
"-t", "--timeout", action="store", type="int",
default="10", help="Timeout for deep mode. Defaults to
10 seconds.")
+ group.add_option(
+ "-e", "--exclude", action="append", dest="exclude",
+ default=None, help="Exclude host from mirrors list.")
@@ -302,6 +305,10 @@ class MirrorSelect(object):
else:
self.output.write("using url: %s\n" % MIRRORS_3_XML, 2)
hosts = Extractor(MIRRORS_3_XML, options,
self.output).hosts
+
+ if options.exclude:
+ hosts = [x for x in hosts if x[0] not in
options.exclude]
+
return hosts