Plugin tor_: fix "tor_countries" in case of missing cache location

Closes: #1176
This commit is contained in:
Lars Kruse 2021-02-17 15:10:12 +01:00
parent 0b7a005eb2
commit ed61eab13a
1 changed files with 9 additions and 8 deletions

View File

@ -309,15 +309,16 @@ class TorCountries(TorPlugin):
def fetch(self):
"""Generate metrics"""
# Fallback if cache_dir_name is not set, unreadable or any other error
countries_num = self.top_countries()
# If possible, read cached data instead of doing the processing twice
try:
with open(self.cache_dir_name) as f:
countries_num = json.load(f)
except (IOError, ValueError):
# Fallback if cache_dir_name is not set, unreadable or any other
# error
countries_num = self.top_countries()
if self.cache_dir_name:
try:
with open(self.cache_dir_name) as f:
countries_num = json.load(f)
except (IOError, ValueError):
# use the fallback value above
pass
for c, v in countries_num:
print("%s.value %d" % (c, v))