1
0
forked from BRT/arc

Fix for windows

This commit is contained in:
slava 2026-04-18 19:23:56 +07:00
parent ad4d87abc3
commit 779e3cd74c
2 changed files with 20 additions and 3 deletions

View File

@ -225,6 +225,7 @@ bool GetLastTransactionsScript::navigateToTransactionList(const DeviceInfo &devi
for (int attempt = 0; attempt < 10; ++attempt) { for (int attempt = 0; attempt < 10; ++attempt) {
if (QThread::currentThread()->isInterruptionRequested()) return false; if (QThread::currentThread()->isInterruptionRequested()) return false;
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter)); xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
closeGooglePlayBannerIfVisible(m_deviceId, device.screenWidth, device.screenHeight);
if (xmlScreenParser.isTransactionListScreen()) return true; if (xmlScreenParser.isTransactionListScreen()) return true;
QThread::msleep(1500); QThread::msleep(1500);
} }
@ -864,6 +865,7 @@ void GetLastTransactionsScript::scanRecentTransactions(const DeviceInfo &device,
for (int attempt = 0; attempt < 5; ++attempt) { for (int attempt = 0; attempt < 5; ++attempt) {
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter)); xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
closeGooglePlayBannerIfVisible(m_deviceId, device.screenWidth, device.screenHeight);
if (xmlScreenParser.isTransactionListScreen()) break; if (xmlScreenParser.isTransactionListScreen()) break;
QThread::msleep(1000); QThread::msleep(1000);
} }

View File

@ -126,9 +126,13 @@ def get_foreground_package(serial) -> str | None:
def dump_xml(serial) -> str: def dump_xml(serial) -> str:
adb(serial, "shell", "uiautomator", "dump", "/sdcard/_gen_ft.xml") try:
r = adb(serial, "exec-out", "cat", "/sdcard/_gen_ft.xml") adb(serial, "shell", "uiautomator", "dump", "/sdcard/_gen_ft.xml")
return r.stdout.decode("utf-8", errors="replace") r = adb(serial, "exec-out", "cat", "/sdcard/_gen_ft.xml")
return r.stdout.decode("utf-8", errors="replace")
except subprocess.CalledProcessError as e:
print(f" WARNING: dump_xml failed: {e}")
return ""
def get_device_tz(serial) -> timezone: def get_device_tz(serial) -> timezone:
@ -334,6 +338,17 @@ def collect_tasks(serial, bank, mid, device_tz, kopecks, prefix):
tasks = [] tasks = []
seen = set() seen = set()
try:
return _collect_tasks_inner(serial, bank, mid, device_tz, kopecks, prefix,
xml, is_ozon, is_dush, tasks, seen)
except (subprocess.CalledProcessError, OSError) as e:
print(f"\n ERROR: ADB/device failure: {e}")
print(f" Saving {len(tasks)} tasks collected before crash")
return tasks
def _collect_tasks_inner(serial, bank, mid, device_tz, kopecks, prefix,
xml, is_ozon, is_dush, tasks, seen):
if is_ozon: if is_ozon:
print("Detected: Ozon") print("Detected: Ozon")
headers = parse_ozon_date_headers(xml, device_tz) headers = parse_ozon_date_headers(xml, device_tz)