mirror of
https://git.sr.ht/~tsileo/microblog.pub
synced 2024-12-22 05:04:27 +00:00
Oops add missing file
This commit is contained in:
parent
26efd09304
commit
0f10bfddac
1 changed files with 32 additions and 0 deletions
32
app/utils/mastodon.py
Normal file
32
app/utils/mastodon.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from loguru import logger
|
||||||
|
|
||||||
|
from app.webfinger import get_actor_url
|
||||||
|
|
||||||
|
|
||||||
|
def _load_mastodon_following_accounts_csv_file(path: str) -> list[str]:
|
||||||
|
handles = []
|
||||||
|
for line in Path(path).read_text().splitlines()[1:]:
|
||||||
|
handle = line.split(",")[0]
|
||||||
|
handles.append(handle)
|
||||||
|
|
||||||
|
return handles
|
||||||
|
|
||||||
|
|
||||||
|
async def get_actor_urls_from_following_accounts_csv_file(
|
||||||
|
path: str,
|
||||||
|
) -> list[tuple[str, str]]:
|
||||||
|
actor_urls = []
|
||||||
|
for handle in _load_mastodon_following_accounts_csv_file(path):
|
||||||
|
try:
|
||||||
|
actor_url = await get_actor_url(handle)
|
||||||
|
except Exception:
|
||||||
|
logger.error("Failed to fetch actor URL for {handle=}")
|
||||||
|
else:
|
||||||
|
if actor_url:
|
||||||
|
actor_urls.append((handle, actor_url))
|
||||||
|
else:
|
||||||
|
logger.info(f"No actor URL found for {handle=}")
|
||||||
|
|
||||||
|
return actor_urls
|
Loading…
Reference in a new issue