Update mautrix-python (ref #623)
This commit is contained in:
@@ -211,12 +211,16 @@ class User(AbstractUser, BaseUser):
|
|||||||
self.client.session.delete()
|
self.client.session.delete()
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
@property
|
||||||
|
def _is_connected(self) -> bool:
|
||||||
|
return bool(self.client and self.client._sender
|
||||||
|
and self.client._sender._transport_connected)
|
||||||
|
|
||||||
async def _track_connection(self) -> None:
|
async def _track_connection(self) -> None:
|
||||||
self.log.debug("Starting loop to track connection state")
|
self.log.debug("Starting loop to track connection state")
|
||||||
while True:
|
while True:
|
||||||
await asyncio.sleep(3)
|
await asyncio.sleep(3)
|
||||||
connected = bool(self.client._sender._transport_connected
|
connected = self._is_connected
|
||||||
if self.client and self.client._sender else False)
|
|
||||||
self._track_metric(METRIC_CONNECTED, connected)
|
self._track_metric(METRIC_CONNECTED, connected)
|
||||||
await self.push_bridge_state(ok=connected, ttl=3600 if connected else 240,
|
await self.push_bridge_state(ok=connected, ttl=3600 if connected else 240,
|
||||||
error="tg-not-connected" if not connected else None)
|
error="tg-not-connected" if not connected else None)
|
||||||
@@ -227,13 +231,18 @@ class User(AbstractUser, BaseUser):
|
|||||||
state.remote_name = self.human_tg_id
|
state.remote_name = self.human_tg_id
|
||||||
|
|
||||||
async def get_bridge_state(self) -> BridgeState:
|
async def get_bridge_state(self) -> BridgeState:
|
||||||
if not self.client:
|
if not self.tgid:
|
||||||
return BridgeState(ok=False, error="logged-out")
|
return BridgeState(ok=False, error="logged-out")
|
||||||
elif not self.client._sender or not self.client._sender._transport_connected:
|
elif not self._is_connected:
|
||||||
return BridgeState(ok=False, error="tg-not-connected")
|
return BridgeState(ok=False, error="tg-not-connected")
|
||||||
else:
|
else:
|
||||||
return BridgeState(ok=True)
|
return BridgeState(ok=True)
|
||||||
|
|
||||||
|
async def get_puppet(self) -> Optional['pu.Puppet']:
|
||||||
|
if not self.tgid:
|
||||||
|
return None
|
||||||
|
return pu.Puppet.get(self.tgid)
|
||||||
|
|
||||||
async def stop(self) -> None:
|
async def stop(self) -> None:
|
||||||
await super().stop()
|
await super().stop()
|
||||||
if self._track_connection_task:
|
if self._track_connection_task:
|
||||||
@@ -332,6 +341,7 @@ class User(AbstractUser, BaseUser):
|
|||||||
self.portals = {}
|
self.portals = {}
|
||||||
self.contacts = []
|
self.contacts = []
|
||||||
await self.save(portals=True, contacts=True)
|
await self.save(portals=True, contacts=True)
|
||||||
|
await self.push_bridge_state(ok=False, error="logged-out")
|
||||||
if self.tgid:
|
if self.tgid:
|
||||||
try:
|
try:
|
||||||
del self.by_tgid[self.tgid]
|
del self.by_tgid[self.tgid]
|
||||||
@@ -345,7 +355,6 @@ class User(AbstractUser, BaseUser):
|
|||||||
self.delete()
|
self.delete()
|
||||||
await self.stop()
|
await self.stop()
|
||||||
self._track_metric(METRIC_LOGGED_IN, False)
|
self._track_metric(METRIC_LOGGED_IN, False)
|
||||||
await self.push_bridge_state(ok=False, error="logged-out")
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _search_local(self, query: str, max_results: int = 5, min_similarity: int = 45
|
def _search_local(self, query: str, max_results: int = 5, min_similarity: int = 45
|
||||||
|
|||||||
+1
-1
@@ -5,6 +5,6 @@ python-magic>=0.4,<0.5
|
|||||||
commonmark>=0.8,<0.10
|
commonmark>=0.8,<0.10
|
||||||
aiohttp>=3,<4
|
aiohttp>=3,<4
|
||||||
yarl>=1,<2
|
yarl>=1,<2
|
||||||
mautrix>=0.9.3,<0.10
|
mautrix>=0.9.7,<0.10
|
||||||
telethon>=1.20,<1.22
|
telethon>=1.20,<1.22
|
||||||
telethon-session-sqlalchemy>=0.2.14,<0.3
|
telethon-session-sqlalchemy>=0.2.14,<0.3
|
||||||
|
|||||||
Reference in New Issue
Block a user