block: log activities when auto-rotating proxies

This commit is contained in:
Iain Learmonth 2022-05-14 10:35:24 +01:00
parent 74de24fce3
commit 3d280f391e
2 changed files with 22 additions and 0 deletions

View file

@ -4,6 +4,7 @@ from typing import Tuple, List
import requests
from app.extensions import db
from app.models.activity import Activity
from app.models.mirrors import Proxy
from app.terraform import BaseAutomation
@ -14,6 +15,7 @@ class BlockRoskomsvobodaAutomation(BaseAutomation):
frequency = 90
def automate(self, full: bool = False) -> Tuple[bool, str]:
activities = []
proxies: List[Proxy] = Proxy.query.filter(
Proxy.deprecated == None,
Proxy.destroyed == None
@ -30,5 +32,14 @@ class BlockRoskomsvobodaAutomation(BaseAutomation):
print("Proxy already marked blocked")
continue
p.deprecate(reason="roskomsvoboda")
activities.append(Activity(
activity_type="block",
text=(f"Proxy {p.url} for {p.origin.domain_name} detected blocked according to RosKomSvoboda. "
"Rotation scheduled.")
))
for a in activities:
db.session.add(a)
db.session.commit()
for a in activities:
a.notify()
return True, ""