Add email sending
This commit is contained in:
parent
c548a53562
commit
ecd8a3ced6
|
@ -1,7 +1,9 @@
|
||||||
import requests
|
import requests
|
||||||
import os
|
import os
|
||||||
|
import datetime
|
||||||
import json
|
import json
|
||||||
import jsondiff as jd
|
import jsondiff as jd
|
||||||
|
import smtplib
|
||||||
from jsondiff import diff
|
from jsondiff import diff
|
||||||
|
|
||||||
old_file = "onionoo_details"
|
old_file = "onionoo_details"
|
||||||
|
@ -15,20 +17,29 @@ old_text = json.loads(old_text)["relays"]
|
||||||
|
|
||||||
diff1 = diff(old_text, relays, syntax='symmetric')
|
diff1 = diff(old_text, relays, syntax='symmetric')
|
||||||
|
|
||||||
|
status = """From: relay status <relaystatus@encryptionin.space>
|
||||||
|
To: relaystatus@lists.encryptionin.space
|
||||||
|
Subject: Relay Status """ + datetime.datetime.now(datetime.utc).strftime('%Y-%m-%d %H') + """\n\n"""
|
||||||
|
|
||||||
for new_relay in diff1[jd.insert]:
|
for new_relay in diff1[jd.insert]:
|
||||||
exit = "no"
|
exit = "no"
|
||||||
if new_relay[1]["exit_policy"][0] != "reject *:*":
|
if new_relay[1]["exit_policy"][0] != "reject *:*":
|
||||||
exit = "yes"
|
exit = "yes"
|
||||||
print("New relay: \"" + new_relay[1]["nickname"], "\", fingerpint: " + new_relay[1]["fingerprint"] + ", potential exit: " + exit + ", effective family size: " + str(len(new_relay[1]["effective_family"])))
|
status = status + "New relay: \"" + new_relay[1]["nickname"], "\", fingerpint: " + new_relay[1]["fingerprint"] + ", potential exit: " + exit + ", effective family size: " + str(len(new_relay[1]["effective_family"])) + "\n"
|
||||||
|
|
||||||
for updated_relay in diff1:
|
for updated_relay in diff1:
|
||||||
if updated_relay != jd.insert and updated_relay != jd.delete:
|
if updated_relay != jd.insert and updated_relay != jd.delete:
|
||||||
if "flags" in diff1[updated_relay]:
|
if "flags" in diff1[updated_relay]:
|
||||||
relay = old_text[updated_relay]
|
if "Exit" in diff1[updated_relay]["flags"][jd.insert]:
|
||||||
new_flags = ""
|
relay = old_text[updated_relay]
|
||||||
for flag in diff1[updated_relay]["flags"][jd.insert]:
|
new_flags = ""
|
||||||
new_flags = new_flags+flag[1]+","
|
for flag in diff1[updated_relay]["flags"][jd.insert]:
|
||||||
print("\"" + relay["nickname"] + "\" (" + relay["fingerprint"] + ") got new flag(s): \"" + new_flags + "\"")
|
new_flags = new_flags+flag[1]+","
|
||||||
|
status = status + "\"" + relay["nickname"] + "\" (" + relay["fingerprint"] + ") got new flag(s): \"" + new_flags + "\"\n"
|
||||||
|
|
||||||
with open(old_file, "w") as output:
|
with open(old_file, "w") as output:
|
||||||
output.write(r.text)
|
output.write(r.text)
|
||||||
|
|
||||||
|
try:
|
||||||
|
smtp = smptlib.SMTP('localhost')
|
||||||
|
smtp.sendmail('relaystatus@encryptionin.space', ['relaystatus@lists.encryptionin.space'],)
|
||||||
|
|
Loading…
Reference in a new issue