Event: optional (inline_)content, auto-gen inline
This commit is contained in:
parent
a5095274ba
commit
8ad13b033d
@ -196,14 +196,12 @@ class MatrixClient(nio.AsyncClient):
|
||||
client_id = f"echo-{uuid}",
|
||||
event_id = "",
|
||||
date = datetime.now(),
|
||||
sender_id = self.user_id,
|
||||
sender_name = our_info.display_name,
|
||||
sender_avatar = our_info.avatar_url,
|
||||
content = echo_body,
|
||||
inline_content = HTML_FILTER.filter_inline(echo_body),
|
||||
is_local_echo = True,
|
||||
local_event_type = event_type,
|
||||
|
||||
sender_id = self.user_id,
|
||||
sender_name = our_info.display_name,
|
||||
sender_avatar = our_info.avatar_url,
|
||||
)
|
||||
for user_id in self.models[Account]:
|
||||
if user_id in self.models[Member, room_id]:
|
||||
@ -497,12 +495,7 @@ class MatrixClient(nio.AsyncClient):
|
||||
|
||||
|
||||
async def register_nio_event(
|
||||
self,
|
||||
room: nio.MatrixRoom,
|
||||
ev: nio.Event,
|
||||
content: str,
|
||||
type_specifier: TypeSpecifier = TypeSpecifier.none,
|
||||
**fields,
|
||||
self, room: nio.MatrixRoom, ev: nio.Event, **fields,
|
||||
) -> None:
|
||||
|
||||
await self.register_nio_room(room)
|
||||
@ -518,23 +511,16 @@ class MatrixClient(nio.AsyncClient):
|
||||
|
||||
# Create Event ModelItem
|
||||
item = Event(
|
||||
source = ev,
|
||||
client_id = ev.event_id,
|
||||
event_id = ev.event_id,
|
||||
content = content,
|
||||
inline_content = HTML_FILTER.filter_inline(content),
|
||||
source = ev,
|
||||
client_id = ev.event_id,
|
||||
event_id = ev.event_id,
|
||||
date = datetime.fromtimestamp(ev.server_timestamp / 1000),
|
||||
|
||||
sender_id = ev.sender,
|
||||
sender_name = sender_name,
|
||||
sender_avatar = sender_avatar,
|
||||
|
||||
type_specifier = type_specifier,
|
||||
|
||||
target_id = target_id,
|
||||
target_name = target_name,
|
||||
target_avatar = target_avatar,
|
||||
|
||||
**fields,
|
||||
)
|
||||
|
||||
@ -639,7 +625,9 @@ class MatrixClient(nio.AsyncClient):
|
||||
await self.register_nio_event(
|
||||
room,
|
||||
ev,
|
||||
content = ev.url,
|
||||
content = "",
|
||||
inline_content = ev.body,
|
||||
media_url = ev.url,
|
||||
media_title = ev.body,
|
||||
media_width = info.get("w") or 0,
|
||||
media_height = info.get("h") or 0,
|
||||
|
@ -109,16 +109,16 @@ class TypeSpecifier(AutoStrEnum):
|
||||
|
||||
@dataclass
|
||||
class Event(ModelItem):
|
||||
source: Optional[nio.Event] = field()
|
||||
client_id: str = field()
|
||||
event_id: str = field()
|
||||
content: str = field()
|
||||
inline_content: str = field()
|
||||
date: datetime = field()
|
||||
source: Optional[nio.Event] = field()
|
||||
client_id: str = field()
|
||||
event_id: str = field()
|
||||
date: datetime = field()
|
||||
sender_id: str = field()
|
||||
sender_name: str = field()
|
||||
sender_avatar: str = field()
|
||||
|
||||
sender_id: str = field()
|
||||
sender_name: str = field()
|
||||
sender_avatar: str = field()
|
||||
content: str = ""
|
||||
inline_content: str = ""
|
||||
|
||||
type_specifier: TypeSpecifier = TypeSpecifier.none
|
||||
|
||||
@ -129,6 +129,7 @@ class Event(ModelItem):
|
||||
is_local_echo: bool = False
|
||||
local_event_type: str = ""
|
||||
|
||||
media_url: str = ""
|
||||
media_title: str = ""
|
||||
media_width: int = 0
|
||||
media_height: int = 0
|
||||
@ -141,7 +142,8 @@ class Event(ModelItem):
|
||||
thumbnail_height: int = 0
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
self.inline_content = HTML_FILTER.filter_inline(self.content)
|
||||
if not self.inline_content:
|
||||
self.inline_content = HTML_FILTER.filter_inline(self.content)
|
||||
|
||||
|
||||
def __lt__(self, other: "Event") -> bool:
|
||||
|
Loading…
Reference in New Issue
Block a user