Fix typing

main
Thomas Sileo 2022-08-10 20:47:19 +02:00
parent 394dae90f5
commit 0b6556e54a
2 changed files with 9 additions and 6 deletions

View File

@ -160,9 +160,9 @@ async def save_actor(db_session: AsyncSession, ap_actor: ap.RawObject) -> "Actor
async def fetch_actor( async def fetch_actor(
db_session: AsyncSession, db_session: AsyncSession,
actor_id: str, actor_id: str,
) -> Union["ActorModel", RemoteActor]: ) -> "ActorModel":
if actor_id == LOCAL_ACTOR.ap_id: if actor_id == LOCAL_ACTOR.ap_id:
return LOCAL_ACTOR raise ValueError("local actor should not be fetched")
from app import models from app import models
existing_actor = ( existing_actor = (

View File

@ -7,7 +7,6 @@ import httpx
from bs4 import BeautifulSoup # type: ignore from bs4 import BeautifulSoup # type: ignore
from pydantic import BaseModel from pydantic import BaseModel
from loguru import logger
from app import ap_object from app import ap_object
from app import config from app import config
from app.actor import LOCAL_ACTOR from app.actor import LOCAL_ACTOR
@ -66,9 +65,13 @@ async def external_urls(
if tag_href := tag.get("href"): if tag_href := tag.get("href"):
tags_hrefs.add(tag_href) tags_hrefs.add(tag_href)
if tag.get("type") == "Mention": if tag.get("type") == "Mention":
mentioned_actor = await fetch_actor(db_session, tag["href"]) if tag["href"] != LOCAL_ACTOR.ap_id:
tags_hrefs.add(mentioned_actor.url) mentioned_actor = await fetch_actor(db_session, tag["href"])
tags_hrefs.add(mentioned_actor.ap_id) tags_hrefs.add(mentioned_actor.url)
tags_hrefs.add(mentioned_actor.ap_id)
else:
tags_hrefs.add(LOCAL_ACTOR.ap_id)
tags_hrefs.add(LOCAL_ACTOR.url)
urls = set() urls = set()
if ro.content: if ro.content: