pymobiledevice3 5.0.4__py3-none-any.whl → 7.0.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- misc/understanding_idevice_protocol_layers.md +10 -5
- pymobiledevice3/__main__.py +171 -46
- pymobiledevice3/_version.py +2 -2
- pymobiledevice3/bonjour.py +22 -21
- pymobiledevice3/cli/activation.py +24 -22
- pymobiledevice3/cli/afc.py +49 -41
- pymobiledevice3/cli/amfi.py +13 -18
- pymobiledevice3/cli/apps.py +71 -65
- pymobiledevice3/cli/backup.py +134 -93
- pymobiledevice3/cli/bonjour.py +31 -29
- pymobiledevice3/cli/cli_common.py +175 -232
- pymobiledevice3/cli/companion_proxy.py +12 -12
- pymobiledevice3/cli/crash.py +95 -52
- pymobiledevice3/cli/developer/__init__.py +62 -0
- pymobiledevice3/cli/developer/accessibility/__init__.py +65 -0
- pymobiledevice3/cli/developer/accessibility/settings.py +43 -0
- pymobiledevice3/cli/developer/arbitration.py +50 -0
- pymobiledevice3/cli/developer/condition.py +33 -0
- pymobiledevice3/cli/developer/core_device.py +294 -0
- pymobiledevice3/cli/developer/debugserver.py +244 -0
- pymobiledevice3/cli/developer/dvt/__init__.py +438 -0
- pymobiledevice3/cli/developer/dvt/core_profile_session.py +295 -0
- pymobiledevice3/cli/developer/dvt/simulate_location.py +56 -0
- pymobiledevice3/cli/developer/dvt/sysmon/__init__.py +69 -0
- pymobiledevice3/cli/developer/dvt/sysmon/process.py +188 -0
- pymobiledevice3/cli/developer/fetch_symbols.py +108 -0
- pymobiledevice3/cli/developer/simulate_location.py +51 -0
- pymobiledevice3/cli/diagnostics/__init__.py +75 -0
- pymobiledevice3/cli/diagnostics/battery.py +47 -0
- pymobiledevice3/cli/idam.py +42 -0
- pymobiledevice3/cli/lockdown.py +70 -75
- pymobiledevice3/cli/mounter.py +99 -57
- pymobiledevice3/cli/notification.py +38 -26
- pymobiledevice3/cli/pcap.py +36 -20
- pymobiledevice3/cli/power_assertion.py +15 -16
- pymobiledevice3/cli/processes.py +11 -17
- pymobiledevice3/cli/profile.py +120 -75
- pymobiledevice3/cli/provision.py +27 -26
- pymobiledevice3/cli/remote.py +109 -100
- pymobiledevice3/cli/restore.py +134 -129
- pymobiledevice3/cli/springboard.py +50 -50
- pymobiledevice3/cli/syslog.py +145 -65
- pymobiledevice3/cli/usbmux.py +66 -27
- pymobiledevice3/cli/version.py +2 -5
- pymobiledevice3/cli/webinspector.py +232 -156
- pymobiledevice3/exceptions.py +6 -2
- pymobiledevice3/lockdown.py +5 -1
- pymobiledevice3/lockdown_service_provider.py +5 -0
- pymobiledevice3/remote/remote_service_discovery.py +18 -10
- pymobiledevice3/restore/device.py +28 -4
- pymobiledevice3/restore/restore.py +2 -2
- pymobiledevice3/service_connection.py +15 -12
- pymobiledevice3/services/afc.py +731 -220
- pymobiledevice3/services/device_link.py +45 -31
- pymobiledevice3/services/idam.py +20 -0
- pymobiledevice3/services/lockdown_service.py +12 -9
- pymobiledevice3/services/mobile_config.py +1 -0
- pymobiledevice3/services/mobilebackup2.py +6 -3
- pymobiledevice3/services/os_trace.py +97 -55
- pymobiledevice3/services/remote_fetch_symbols.py +13 -8
- pymobiledevice3/services/screenshot.py +2 -2
- pymobiledevice3/services/web_protocol/alert.py +8 -8
- pymobiledevice3/services/web_protocol/automation_session.py +87 -79
- pymobiledevice3/services/web_protocol/cdp_screencast.py +2 -1
- pymobiledevice3/services/web_protocol/driver.py +71 -70
- pymobiledevice3/services/web_protocol/element.py +58 -56
- pymobiledevice3/services/web_protocol/selenium_api.py +47 -47
- pymobiledevice3/services/web_protocol/session_protocol.py +3 -2
- pymobiledevice3/services/web_protocol/switch_to.py +23 -19
- pymobiledevice3/services/webinspector.py +42 -67
- {pymobiledevice3-5.0.4.dist-info → pymobiledevice3-7.0.6.dist-info}/METADATA +5 -3
- {pymobiledevice3-5.0.4.dist-info → pymobiledevice3-7.0.6.dist-info}/RECORD +76 -61
- pymobiledevice3/cli/completions.py +0 -50
- pymobiledevice3/cli/developer.py +0 -1539
- pymobiledevice3/cli/diagnostics.py +0 -110
- {pymobiledevice3-5.0.4.dist-info → pymobiledevice3-7.0.6.dist-info}/WHEEL +0 -0
- {pymobiledevice3-5.0.4.dist-info → pymobiledevice3-7.0.6.dist-info}/entry_points.txt +0 -0
- {pymobiledevice3-5.0.4.dist-info → pymobiledevice3-7.0.6.dist-info}/licenses/LICENSE +0 -0
- {pymobiledevice3-5.0.4.dist-info → pymobiledevice3-7.0.6.dist-info}/top_level.txt +0 -0
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
import time
|
|
3
|
-
|
|
4
|
-
import click
|
|
5
|
-
|
|
6
|
-
from pymobiledevice3.cli.cli_common import Command, print_json
|
|
7
|
-
from pymobiledevice3.lockdown import LockdownClient, retry_create_using_usbmux
|
|
8
|
-
from pymobiledevice3.lockdown_service_provider import LockdownServiceProvider
|
|
9
|
-
from pymobiledevice3.services.diagnostics import DiagnosticsService
|
|
10
|
-
|
|
11
|
-
logger = logging.getLogger(__name__)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@click.group()
|
|
15
|
-
def cli() -> None:
|
|
16
|
-
pass
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@cli.group()
|
|
20
|
-
def diagnostics() -> None:
|
|
21
|
-
"""Reboot/Shutdown device or access other diagnostics services"""
|
|
22
|
-
pass
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@diagnostics.command("restart", cls=Command)
|
|
26
|
-
@click.option(
|
|
27
|
-
"-r",
|
|
28
|
-
"--reconnect",
|
|
29
|
-
is_flag=True,
|
|
30
|
-
default=False,
|
|
31
|
-
help="Wait until the device reconnects before finishing the operation.",
|
|
32
|
-
)
|
|
33
|
-
def diagnostics_restart(service_provider: LockdownClient, reconnect):
|
|
34
|
-
"""Restart device"""
|
|
35
|
-
DiagnosticsService(lockdown=service_provider).restart()
|
|
36
|
-
if reconnect:
|
|
37
|
-
# Wait for the device to be available again
|
|
38
|
-
with retry_create_using_usbmux(None, serial=service_provider.udid):
|
|
39
|
-
print(f"Device Reconnected ({service_provider.udid}).")
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
@diagnostics.command("shutdown", cls=Command)
|
|
43
|
-
def diagnostics_shutdown(service_provider: LockdownClient):
|
|
44
|
-
"""Shutdown device"""
|
|
45
|
-
DiagnosticsService(lockdown=service_provider).shutdown()
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
@diagnostics.command("sleep", cls=Command)
|
|
49
|
-
def diagnostics_sleep(service_provider: LockdownClient):
|
|
50
|
-
"""Put device into sleep"""
|
|
51
|
-
DiagnosticsService(lockdown=service_provider).sleep()
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
@diagnostics.command("info", cls=Command)
|
|
55
|
-
def diagnostics_info(service_provider: LockdownClient):
|
|
56
|
-
"""Get diagnostics info"""
|
|
57
|
-
print_json(DiagnosticsService(lockdown=service_provider).info())
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
@diagnostics.command("ioregistry", cls=Command)
|
|
61
|
-
@click.option("--plane")
|
|
62
|
-
@click.option("--name")
|
|
63
|
-
@click.option("--ioclass")
|
|
64
|
-
def diagnostics_ioregistry(service_provider: LockdownClient, plane, name, ioclass):
|
|
65
|
-
"""Get ioregistry info"""
|
|
66
|
-
print_json(DiagnosticsService(lockdown=service_provider).ioregistry(plane=plane, name=name, ioclass=ioclass))
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
@diagnostics.command("mg", cls=Command)
|
|
70
|
-
@click.argument("keys", nargs=-1, default=None)
|
|
71
|
-
def diagnostics_mg(service_provider: LockdownClient, keys):
|
|
72
|
-
"""Get MobileGestalt key values from given list. If empty, return all known."""
|
|
73
|
-
print_json(DiagnosticsService(lockdown=service_provider).mobilegestalt(keys=keys))
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
@diagnostics.group("battery")
|
|
77
|
-
def diagnostics_battery():
|
|
78
|
-
"""Battery options"""
|
|
79
|
-
pass
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
@diagnostics_battery.command("single", cls=Command)
|
|
83
|
-
def diagnostics_battery_single(service_provider: LockdownClient):
|
|
84
|
-
"""get single snapshot of battery data"""
|
|
85
|
-
raw_info = DiagnosticsService(lockdown=service_provider).get_battery()
|
|
86
|
-
print_json(raw_info)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
@diagnostics_battery.command("monitor", cls=Command)
|
|
90
|
-
def diagnostics_battery_monitor(service_provider: LockdownClient):
|
|
91
|
-
"""monitor battery usage"""
|
|
92
|
-
diagnostics = DiagnosticsService(lockdown=service_provider)
|
|
93
|
-
while True:
|
|
94
|
-
raw_info = diagnostics.get_battery()
|
|
95
|
-
info = {
|
|
96
|
-
"InstantAmperage": raw_info.get("InstantAmperage"),
|
|
97
|
-
"Temperature": raw_info.get("Temperature"),
|
|
98
|
-
"Voltage": raw_info.get("Voltage"),
|
|
99
|
-
"IsCharging": raw_info.get("IsCharging"),
|
|
100
|
-
"CurrentCapacity": raw_info.get("CurrentCapacity"),
|
|
101
|
-
}
|
|
102
|
-
logger.info(info)
|
|
103
|
-
time.sleep(1)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
@diagnostics.command("wifi", cls=Command)
|
|
107
|
-
def diagnostics_wifi(service_provider: LockdownServiceProvider) -> None:
|
|
108
|
-
"""Query WiFi info from IORegistry"""
|
|
109
|
-
raw_info = DiagnosticsService(lockdown=service_provider).get_wifi()
|
|
110
|
-
print_json(raw_info)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|