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