aboutsummaryrefslogtreecommitdiff
path: root/scripts/maint/lookupFallbackDirContact.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/maint/lookupFallbackDirContact.py')
-rwxr-xr-xscripts/maint/lookupFallbackDirContact.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/maint/lookupFallbackDirContact.py b/scripts/maint/lookupFallbackDirContact.py
new file mode 100755
index 0000000000..14c53d1282
--- /dev/null
+++ b/scripts/maint/lookupFallbackDirContact.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+
+# Lookup fallback directory contact lines for every fingerprint passed as an
+# argument.
+#
+# Usage:
+# lookupFallbackDirContact.py fingerprint ...
+
+import sys
+
+import stem.descriptor.remote as remote
+
+if len(sys.argv) <= 1:
+ print "Usage: {} fingerprint ...".format(sys.argv[0])
+ sys.exit(-1)
+
+# we need descriptors, because the consensus does not have contact infos
+descriptor_list = remote.get_server_descriptors(fingerprints=sys.argv[1:]).run()
+
+descriptor_list_fingerprints = []
+for d in descriptor_list:
+ assert d.fingerprint in sys.argv[1:]
+ descriptor_list_fingerprints.append(d.fingerprint)
+ print "{} {}".format(d.fingerprint, d.contact)
+
+for fingerprint in sys.argv[1:]:
+ if fingerprint not in descriptor_list_fingerprints:
+ print "{} not found in current descriptors".format(fingerprint)