1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-23 08:49:29 +08:00

Merge branch 'master_lme'

# Conflicts:
#	README.md
This commit is contained in:
Zuosizhu
2023-05-26 00:26:23 +08:00
59 changed files with 110 additions and 35 deletions

View File

@@ -89,6 +89,7 @@ class MaaTouch(Connection):
max_x: int
max_y: int
_maatouch_stream = socket.socket
_maatouch_stream_storage = None
@cached_property
def maatouch_builder(self):
@@ -107,6 +108,8 @@ class MaaTouch(Connection):
stream=True,
recvall=False
)
# Prevent shell stream from being deleted causing socket close
self._maatouch_stream_storage = stream
stream = stream.conn
stream.settimeout(10)
self._maatouch_stream = stream

View File

@@ -2,6 +2,7 @@ import random
import re
import socket
import time
import typing as t
import uiautomator2 as u2
from adbutils import AdbTimeout
@@ -13,6 +14,33 @@ try:
except ImportError:
# adbutils >= 1.0
from adbutils import AdbConnection
# Patch list2cmdline back to subprocess.list2cmdline
# We expect `screencap | nc 192.168.0.1 20298` instead of `screencap '|' nc 192.168.80.1 20298`
import adbutils
import subprocess
adbutils._utils.list2cmdline = subprocess.list2cmdline
adbutils._device.list2cmdline = subprocess.list2cmdline
# BaseDevice.shell() is missing a check_okay() call before reading output,
# resulting in an `OKAY` prefix in output.
def shell(self,
cmdargs: t.Union[str, list, tuple],
stream: bool = False,
timeout: t.Optional[float] = None,
rstrip=True) -> t.Union[AdbConnection, str]:
if isinstance(cmdargs, (list, tuple)):
cmdargs = subprocess.list2cmdline(cmdargs)
if stream:
timeout = None
c = self.open_transport(timeout=timeout)
c.send_command("shell:" + cmdargs)
c.check_okay() # check_okay() is missing here
if stream:
return c
output = c.read_until_close()
return output.rstrip() if rstrip else output
adbutils._device.BaseDevice.shell = shell
from module.base.decorator import cached_property
from module.logger import logger