Merge remote-tracking branch 'karsten/geoip2regcountry'

This commit is contained in:
Nick Mathewson 2014-02-25 10:04:37 -05:00
commit 613b0a3bc5
1 changed files with 13 additions and 0 deletions

View File

@ -339,11 +339,24 @@ def parse_mm_file(s):
def format_datum(datum):
"""Given a Datum at a leaf of the tree, return the string that we should
write as its value.
We first try country->iso_code which is the two-character ISO 3166-1
country code of the country where MaxMind believes the end user is
located. If there's no such key, we try registered_country->iso_code
which is the country in which the ISP has registered the IP address.
Without falling back to registered_country, we'd leave out all ranges
that MaxMind thinks belong to anonymous proxies, because those ranges
don't contain country but only registered_country. In short: let's
fill all A1 entries with what ARIN et. al think.
"""
try:
return bytesToStr(datum.map['country'].map['iso_code'].data)
except KeyError:
pass
try:
return bytesToStr(datum.map['registered_country'].map['iso_code'].data)
except KeyError:
pass
return None
IPV4_PREFIX = "0"*96