Add a type and version header to the fallback directory mirror file

This helps external parsers like stem and Relay Search.

Implements ticket 24725.
This commit is contained in:
teor 2017-12-24 11:36:45 +11:00
parent e3a2324083
commit 8d226a2c7b
No known key found for this signature in database
GPG Key ID: 740D9E39025272A2
2 changed files with 16 additions and 0 deletions

4
changes/ticket24725 Normal file
View File

@ -0,0 +1,4 @@
o Minor features (fallback directory mirrors):
- Add a type and version header to the fallback directory mirror file.
This helps external parsers like stem and Relay Search.
Implements ticket 24725.

View File

@ -68,6 +68,15 @@ except ImportError:
## Top-Level Configuration
# We use semantic versioning: https://semver.org
# In particular:
# * major changes include removing a mandatory field, or anything else that
# would break an appropriately tolerant parser,
# * minor changes include adding a field,
# * patch changes include changing header comments or other unstructured
# content
FALLBACK_FORMAT_VERSION = '2.0.0'
# Output all candidate fallbacks, or only output selected fallbacks?
OUTPUT_CANDIDATES = False
@ -2124,6 +2133,9 @@ def list_fallbacks(whitelist, blacklist):
""" Fetches required onionoo documents and evaluates the
fallback directory criteria for each of the relays """
print "/* type=fallback */"
print ("/* version={} */"
.format(cleanse_c_multiline_comment(FALLBACK_FORMAT_VERSION)))
logging.warning('Downloading and parsing Onionoo data. ' +
'This may take some time.')
# find relays that could be fallbacks