refactored get_mastodon_blocks
This commit is contained in:
parent
433bcd3f00
commit
46cf65678e
@ -8,24 +8,36 @@ headers = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def get_mastodon_blocks(domain: str) -> dict:
|
def get_mastodon_blocks(domain: str) -> dict:
|
||||||
try:
|
blocks = {
|
||||||
reject = []
|
"Suspended servers": [],
|
||||||
media_removal = []
|
"Filtered media": [],
|
||||||
federated_timeline_removal = []
|
"Limited servers": [],
|
||||||
|
"Silenced servers": [],
|
||||||
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
doc = BeautifulSoup(
|
||||||
|
get(f"https://{domain}/about/more", headers=headers, timeout=5).text,
|
||||||
|
"html.parser",
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
return {}
|
||||||
|
|
||||||
doc = BeautifulSoup(get(f"https://{domain}/about/more", headers=headers, timeout=5).text, "html.parser")
|
|
||||||
for header in doc.find_all("h3"):
|
for header in doc.find_all("h3"):
|
||||||
if header.text == "Suspended servers":
|
|
||||||
for line in header.find_next_siblings("table")[0].find_all("tr")[1:]:
|
for line in header.find_next_siblings("table")[0].find_all("tr")[1:]:
|
||||||
reject.append({"domain": line.find("span").text, "hash": line.find("span")["title"][9:], "reason": line.find_all("td")[1].text.strip()})
|
if header.text in blocks:
|
||||||
elif header.text == "Filtered media":
|
blocks[header.text].append(
|
||||||
for line in header.find_next_siblings("table")[0].find_all("tr")[1:]:
|
{
|
||||||
media_removal.append({"domain": line.find("span").text, "hash": line.find("span")["title"][9:], "reason": line.find_all("td")[1].text.strip()})
|
"domain": line.find("span").text,
|
||||||
elif header.text in ["Limited servers", "Silenced servers"]:
|
"hash": line.find("span")["title"][9:],
|
||||||
for line in header.find_next_siblings("table")[0].find_all("tr")[1:]:
|
"reason": line.find_all("td")[1].text.strip(),
|
||||||
federated_timeline_removal.append({"domain": line.find("span").text, "hash": line.find("span")["title"][9:], "reason": line.find_all("td")[1].text.strip()})
|
}
|
||||||
finally:
|
)
|
||||||
return {"reject": reject, "media_removal": media_removal, "federated_timeline_removal": federated_timeline_removal}
|
return {
|
||||||
|
"reject": blocks["Suspended servers"],
|
||||||
|
"media_removal": blocks["Filtered media"],
|
||||||
|
"federated_timeline_removal": blocks["Limited servers"] + blocks["Silenced servers"],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def get_type(domain: str) -> str:
|
def get_type(domain: str) -> str:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user