pymobiledevice3 4.27.3__tar.gz → 4.27.5__tar.gz

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.

Potentially problematic release.


This version of pymobiledevice3 might be problematic. Click here for more details.

Files changed (226) hide show
  1. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/PKG-INFO +1 -1
  2. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/_version.py +3 -3
  3. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/afc.py +3 -2
  4. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/crash_reports.py +1 -1
  5. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/webinspector.py +19 -5
  6. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/tcp_forwarder.py +31 -30
  7. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/tunneld/server.py +9 -3
  8. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3.egg-info/PKG-INFO +1 -1
  9. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.gitattributes +0 -0
  10. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/FUNDING.yml +0 -0
  11. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  13. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  14. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/pull_request_template.md +0 -0
  15. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/workflows/codeql.yml +0 -0
  16. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/workflows/generate-executable.py +0 -0
  17. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/workflows/markdown-lint.yml +0 -0
  18. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/workflows/python-app.yml +0 -0
  19. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.github/workflows/python-publish.yml +0 -0
  20. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.gitignore +0 -0
  21. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/.pre-commit-config.yaml +0 -0
  22. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/CODE_OF_CONDUCT.md +0 -0
  23. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/CONTRIBUTING.md +0 -0
  24. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/LICENSE +0 -0
  25. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/README.md +0 -0
  26. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/example.gif +0 -0
  27. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/markdownlint-config.json +0 -0
  28. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/DTServices-14.2.txt +0 -0
  29. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/DTServices-14.5.txt +0 -0
  30. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/RemoteXPC.md +0 -0
  31. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/plist_sniffer.py +0 -0
  32. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/pyinstaller.md +0 -0
  33. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/remotexpc_sniffer.py +0 -0
  34. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/understanding_idevice_protocol_layers.md +0 -0
  35. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/misc/usbmux_sniff.sh +0 -0
  36. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/__init__.py +0 -0
  37. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/__main__.py +0 -0
  38. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/bonjour.py +0 -0
  39. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/ca.py +0 -0
  40. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/__init__.py +0 -0
  41. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/activation.py +0 -0
  42. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/afc.py +0 -0
  43. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/amfi.py +0 -0
  44. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/apps.py +0 -0
  45. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/backup.py +0 -0
  46. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/bonjour.py +0 -0
  47. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/cli_common.py +0 -0
  48. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/companion_proxy.py +0 -0
  49. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/completions.py +0 -0
  50. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/crash.py +0 -0
  51. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/developer.py +0 -0
  52. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/diagnostics.py +0 -0
  53. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/lockdown.py +0 -0
  54. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/mounter.py +0 -0
  55. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/notification.py +0 -0
  56. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/pcap.py +0 -0
  57. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/power_assertion.py +0 -0
  58. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/processes.py +0 -0
  59. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/profile.py +0 -0
  60. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/provision.py +0 -0
  61. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/remote.py +0 -0
  62. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/restore.py +0 -0
  63. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/springboard.py +0 -0
  64. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/syslog.py +0 -0
  65. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/usbmux.py +0 -0
  66. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/version.py +0 -0
  67. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/cli/webinspector.py +0 -0
  68. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/common.py +0 -0
  69. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/exceptions.py +0 -0
  70. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/irecv.py +0 -0
  71. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/irecv_devices.py +0 -0
  72. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/lockdown.py +0 -0
  73. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/lockdown_service_provider.py +0 -0
  74. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/osu/__init__.py +0 -0
  75. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/osu/os_utils.py +0 -0
  76. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/osu/posix_util.py +0 -0
  77. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/osu/win_util.py +0 -0
  78. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/pair_records.py +0 -0
  79. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/__init__.py +0 -0
  80. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/common.py +0 -0
  81. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/core_device/__init__.py +0 -0
  82. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/core_device/app_service.py +0 -0
  83. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/core_device/core_device_service.py +0 -0
  84. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/core_device/device_info.py +0 -0
  85. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/core_device/diagnostics_service.py +0 -0
  86. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/core_device/file_service.py +0 -0
  87. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/module_imports.py +0 -0
  88. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/remote_service.py +0 -0
  89. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/remote_service_discovery.py +0 -0
  90. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/remotexpc.py +0 -0
  91. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/tunnel_service.py +0 -0
  92. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/utils.py +0 -0
  93. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/remote/xpc_message.py +0 -0
  94. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/__init__.py +0 -0
  95. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/dsc_uuid_map.json +0 -0
  96. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/dsc_uuid_map.py +0 -0
  97. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/firmware_notifications.py +0 -0
  98. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/notifications.txt +0 -0
  99. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/element_attribute.js +0 -0
  100. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/element_clear.js +0 -0
  101. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/enter_fullscreen.js +0 -0
  102. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/find_nodes.js +0 -0
  103. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/focus.js +0 -0
  104. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/get_attribute.js +0 -0
  105. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/is_displayed.js +0 -0
  106. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/is_editable.js +0 -0
  107. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/resources/webinspector/is_enabled.js +0 -0
  108. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/__init__.py +0 -0
  109. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/asr.py +0 -0
  110. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/base_restore.py +0 -0
  111. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/consts.py +0 -0
  112. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/device.py +0 -0
  113. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/fdr.py +0 -0
  114. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/ftab.py +0 -0
  115. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/img4.py +0 -0
  116. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/recovery.py +0 -0
  117. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/restore.py +0 -0
  118. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/restore_options.py +0 -0
  119. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/restored_client.py +0 -0
  120. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/restore/tss.py +0 -0
  121. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/service_connection.py +0 -0
  122. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/__init__.py +0 -0
  123. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/accessibilityaudit.py +0 -0
  124. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/amfi.py +0 -0
  125. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/companion.py +0 -0
  126. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/debugserver_applist.py +0 -0
  127. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/device_arbitration.py +0 -0
  128. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/device_link.py +0 -0
  129. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/diagnostics.py +0 -0
  130. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dtfetchsymbols.py +0 -0
  131. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/__init__.py +0 -0
  132. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/dvt_secure_socket_proxy.py +0 -0
  133. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/dvt_testmanaged_proxy.py +0 -0
  134. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/__init__.py +0 -0
  135. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/activity_trace_tap.py +0 -0
  136. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/application_listing.py +0 -0
  137. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/condition_inducer.py +0 -0
  138. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/core_profile_session_tap.py +0 -0
  139. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/device_info.py +0 -0
  140. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/energy_monitor.py +0 -0
  141. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/graphics.py +0 -0
  142. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/location_simulation.py +0 -0
  143. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/location_simulation_base.py +0 -0
  144. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/network_monitor.py +0 -0
  145. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/notifications.py +0 -0
  146. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/process_control.py +0 -0
  147. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/screenshot.py +0 -0
  148. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/instruments/sysmontap.py +0 -0
  149. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/dvt/testmanaged/xcuitest.py +0 -0
  150. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/file_relay.py +0 -0
  151. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/heartbeat.py +0 -0
  152. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/house_arrest.py +0 -0
  153. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/installation_proxy.py +0 -0
  154. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/lockdown_service.py +0 -0
  155. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/misagent.py +0 -0
  156. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/mobile_activation.py +0 -0
  157. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/mobile_config.py +0 -0
  158. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/mobile_image_mounter.py +0 -0
  159. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/mobilebackup2.py +0 -0
  160. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/notification_proxy.py +0 -0
  161. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/os_trace.py +0 -0
  162. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/pcapd.py +0 -0
  163. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/power_assertion.py +0 -0
  164. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/preboard.py +0 -0
  165. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/remote_fetch_symbols.py +0 -0
  166. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/remote_server.py +0 -0
  167. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/restore_service.py +0 -0
  168. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/screenshot.py +0 -0
  169. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/simulate_location.py +0 -0
  170. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/springboard.py +0 -0
  171. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/syslog.py +0 -0
  172. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/__init__.py +0 -0
  173. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/alert.py +0 -0
  174. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/automation_session.py +0 -0
  175. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/cdp_screencast.py +0 -0
  176. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/cdp_server.py +0 -0
  177. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/cdp_target.py +0 -0
  178. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/driver.py +0 -0
  179. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/element.py +0 -0
  180. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/inspector_session.py +0 -0
  181. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/selenium_api.py +0 -0
  182. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/session_protocol.py +0 -0
  183. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/services/web_protocol/switch_to.py +0 -0
  184. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/tunneld/__init__.py +0 -0
  185. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/tunneld/api.py +0 -0
  186. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/usbmux.py +0 -0
  187. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3/utils.py +0 -0
  188. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3.egg-info/SOURCES.txt +0 -0
  189. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3.egg-info/dependency_links.txt +0 -0
  190. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3.egg-info/entry_points.txt +0 -0
  191. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3.egg-info/requires.txt +0 -0
  192. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pymobiledevice3.egg-info/top_level.txt +0 -0
  193. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pyproject.toml +0 -0
  194. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/pytest.ini +0 -0
  195. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/requirements.txt +0 -0
  196. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/setup.cfg +0 -0
  197. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/__init__.py +0 -0
  198. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/cli/__init__.py +0 -0
  199. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/cli/test_cli.py +0 -0
  200. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/conftest.py +0 -0
  201. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/__init__.py +0 -0
  202. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/instruments/__init__.py +0 -0
  203. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/instruments/test_core_profile_session.py +0 -0
  204. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/instruments/test_dvt_secure_socket_proxy.py +0 -0
  205. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/instruments/test_fetch_symbols.py +0 -0
  206. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/instruments/test_location.py +0 -0
  207. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/instruments/test_screenshot.py +0 -0
  208. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_accessibility.py +0 -0
  209. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_afc.py +0 -0
  210. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_apps.py +0 -0
  211. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_backup2.py +0 -0
  212. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_bonjour.py +0 -0
  213. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_crash_reports.py +0 -0
  214. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_list_devices.py +0 -0
  215. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_lockdown.py +0 -0
  216. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_pcapd.py +0 -0
  217. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_springboard_services_relay.py +0 -0
  218. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_start_tunnel.py +0 -0
  219. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_syslog_relay.py +0 -0
  220. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_tcp_forwarder.py +0 -0
  221. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_web_protocol/__init__.py +0 -0
  222. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_web_protocol/common.py +0 -0
  223. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_web_protocol/conftest.py +0 -0
  224. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_web_protocol/test_driver.py +0 -0
  225. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_web_protocol/test_element.py +0 -0
  226. {pymobiledevice3-4.27.3 → pymobiledevice3-4.27.5}/tests/services/test_webinspector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 4.27.3
3
+ Version: 4.27.5
4
4
  Summary: Pure python3 implementation for working with iDevices (iPhone, etc...)
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '4.27.3'
32
- __version_tuple__ = version_tuple = (4, 27, 3)
31
+ __version__ = version = '4.27.5'
32
+ __version_tuple__ = version_tuple = (4, 27, 5)
33
33
 
34
- __commit_id__ = commit_id = 'ge48177203'
34
+ __commit_id__ = commit_id = 'g6e0511aa8'
@@ -277,7 +277,7 @@ class AfcService(LockdownService):
277
277
  except Exception as afc_exception:
278
278
  if not ignore_errors:
279
279
  raise
280
- self.logger.warning("(Ignoring) Error:", afc_exception, "occured during the copy of", src_filename)
280
+ self.logger.warning(f"(Ignoring) Error: {afc_exception} occurred during the copy of {src_filename}")
281
281
 
282
282
  @path_to_str()
283
283
  def exists(self, filename):
@@ -620,7 +620,7 @@ class AfcService(LockdownService):
620
620
  pass
621
621
  return status, data
622
622
 
623
- def _do_operation(self, opcode: afc_opcode_t, data: bytes = b''):
623
+ def _do_operation(self, opcode, data: bytes = b''):
624
624
  self._dispatch_packet(opcode, data)
625
625
  status, data = self._receive_data()
626
626
 
@@ -887,6 +887,7 @@ class AfcShell:
887
887
  progress_bar : --progress_bar
888
888
  Show progress bar
889
889
  """
890
+
890
891
  def log(src, dst):
891
892
  print(f'{src} --> {dst}')
892
893
 
@@ -99,7 +99,7 @@ class CrashReportsManager:
99
99
  self.afc.rm_single(src, force=True)
100
100
 
101
101
  match = None if match is None else re.compile(match)
102
- self.afc.pull(entry, out, match, callback=log, progress_bar=progress_bar)
102
+ self.afc.pull(entry, out, match, callback=log, progress_bar=progress_bar, ignore_errors=True)
103
103
 
104
104
  def flush(self) -> None:
105
105
  """ Trigger com.apple.crashreportmover to flush all products into CrashReports directory """
@@ -4,7 +4,7 @@ import logging
4
4
  import uuid
5
5
  from dataclasses import dataclass, fields
6
6
  from enum import Enum
7
- from typing import Optional, Union
7
+ from typing import Any, Coroutine, Optional, Union
8
8
 
9
9
  import nest_asyncio
10
10
 
@@ -157,7 +157,7 @@ class WebinspectorService:
157
157
  self.service = self.await_(self.lockdown.aio_start_lockdown_service(self.service_name))
158
158
  self.await_(self._report_identifier())
159
159
  try:
160
- self._handle_recv(self.await_(asyncio.wait_for(self._recv_message(), timeout)))
160
+ self._handle_recv(self._await_with_timeout(self._recv_message(), timeout))
161
161
  except asyncio.TimeoutError as e:
162
162
  raise WebInspectorNotEnabledError from e
163
163
  self._recv_task = self.loop.create_task(self._receiving_task())
@@ -225,7 +225,7 @@ class WebinspectorService:
225
225
  self.await_(self._request_application_launch(bundle))
226
226
  self.get_open_pages()
227
227
  try:
228
- return self.await_(asyncio.wait_for(self._wait_for_application(bundle), timeout=timeout))
228
+ return self._await_with_timeout(self._wait_for_application(bundle), timeout)
229
229
  except TimeoutError:
230
230
  raise LaunchingApplicationError()
231
231
 
@@ -244,8 +244,22 @@ class WebinspectorService:
244
244
  def flush_input(self, duration: Union[float, int] = 0):
245
245
  return self.await_(asyncio.sleep(duration))
246
246
 
247
- def await_(self, awaitable):
248
- return self.loop.run_until_complete(asyncio.ensure_future(awaitable, loop=self.loop))
247
+ def await_(self, awaitable: Coroutine) -> Any:
248
+ return self.loop.run_until_complete(awaitable)
249
+
250
+ def _await_with_timeout(self, coro: Coroutine, timeout: float = None) -> Any:
251
+ # Create a task explicitly so we're definitely inside a Task
252
+ task = self.loop.create_task(coro)
253
+ done, pending = self.loop.run_until_complete(asyncio.wait({task}, timeout=timeout))
254
+ if not done:
255
+ task.cancel()
256
+ # Give the task a chance to cancel cleanly
257
+ try:
258
+ self.loop.run_until_complete(task)
259
+ except asyncio.CancelledError:
260
+ pass
261
+ raise WebInspectorNotEnabledError()
262
+ return task.result()
249
263
 
250
264
  def _handle_recv(self, plist):
251
265
  self.receive_handlers[plist['__selector']](plist['__argument'])
@@ -51,37 +51,38 @@ class TcpForwarderBase:
51
51
  if self.listening_event:
52
52
  self.listening_event.set()
53
53
 
54
- while self.inputs:
55
- # will only perform the socket select on the inputs. the outputs will handled
56
- # as synchronous blocking
57
- readable, writable, exceptional = select.select(self.inputs, [], self.inputs, self.TIMEOUT)
58
- if self.stopped.is_set():
59
- self.logger.debug("Closing since stopped is set")
60
- break
61
-
62
- closed_sockets = set()
63
- for current_sock in readable:
64
- self.logger.debug("Processing %r", current_sock)
65
- if current_sock is self.server_socket:
66
- self._handle_server_connection()
67
- else:
68
- if current_sock not in closed_sockets:
69
- try:
70
- self._handle_data(current_sock, closed_sockets)
71
- except ConnectionResetError:
72
- self.logger.exception("Error when handling data")
73
- self._handle_close_or_error(current_sock)
54
+ try:
55
+ while self.inputs:
56
+ # will only perform the socket select on the inputs. the outputs will handled
57
+ # as synchronous blocking
58
+ readable, writable, exceptional = select.select(self.inputs, [], self.inputs, self.TIMEOUT)
59
+ if self.stopped.is_set():
60
+ self.logger.debug("Closing since stopped is set")
61
+ break
62
+
63
+ closed_sockets = set()
64
+ for current_sock in readable:
65
+ self.logger.debug("Processing %r", current_sock)
66
+ if current_sock is self.server_socket:
67
+ self._handle_server_connection()
74
68
  else:
75
- self.logger.debug("Is closed")
76
-
77
- for current_sock in exceptional:
78
- self.logger.error("Sock failed: %r", current_sock)
79
- self._handle_close_or_error(current_sock)
80
-
81
- self.logger.info("Closing everything")
82
- # on stop, close all currently opened sockets
83
- for current_sock in self.inputs:
84
- current_sock.close()
69
+ if current_sock not in closed_sockets:
70
+ try:
71
+ self._handle_data(current_sock, closed_sockets)
72
+ except ConnectionResetError:
73
+ self.logger.exception("Error when handling data")
74
+ self._handle_close_or_error(current_sock)
75
+ else:
76
+ self.logger.debug("Is closed")
77
+
78
+ for current_sock in exceptional:
79
+ self.logger.error("Sock failed: %r", current_sock)
80
+ self._handle_close_or_error(current_sock)
81
+ finally:
82
+ self.logger.info("Closing everything")
83
+ # on stop, close all currently opened sockets
84
+ for current_sock in self.inputs:
85
+ current_sock.close()
85
86
 
86
87
  def _handle_close_or_error(self, from_sock):
87
88
  """ if an error occurred its time to close the two sockets """
@@ -5,11 +5,17 @@ import logging
5
5
  import os
6
6
  import signal
7
7
  import traceback
8
+ import warnings
8
9
  from contextlib import asynccontextmanager, suppress
9
10
  from typing import Optional, Union
10
11
 
11
12
  import construct
12
- import fastapi
13
+
14
+ with warnings.catch_warnings():
15
+ # Ignore: "Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater."
16
+ warnings.simplefilter('ignore', category=UserWarning)
17
+ import fastapi
18
+
13
19
  import uvicorn
14
20
  from construct import StreamError
15
21
  from fastapi import FastAPI
@@ -18,7 +24,7 @@ from packaging.version import Version
18
24
  from pymobiledevice3 import usbmux
19
25
  from pymobiledevice3.bonjour import REMOTED_SERVICE_NAMES, browse
20
26
  from pymobiledevice3.exceptions import ConnectionFailedError, ConnectionFailedToUsbmuxdError, DeviceNotFoundError, \
21
- GetProhibitedError, InvalidServiceError, LockdownError, MuxException, PairingError
27
+ GetProhibitedError, IncorrectModeError, InvalidServiceError, LockdownError, MuxException, PairingError
22
28
  from pymobiledevice3.lockdown import create_using_usbmux, get_mobdev2_lockdowns
23
29
  from pymobiledevice3.osu.os_utils import get_os_utils
24
30
  from pymobiledevice3.remote.common import TunnelProtocol
@@ -143,7 +149,7 @@ class TunneldCore:
143
149
  try:
144
150
  service = CoreDeviceTunnelProxy(create_using_usbmux(mux_device.serial))
145
151
  except (MuxException, InvalidServiceError, GetProhibitedError, construct.core.StreamError,
146
- ConnectionAbortedError, DeviceNotFoundError, LockdownError):
152
+ ConnectionAbortedError, DeviceNotFoundError, LockdownError, IncorrectModeError):
147
153
  continue
148
154
  self.tunnel_tasks[task_identifier] = TunnelTask(
149
155
  udid=mux_device.serial,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 4.27.3
3
+ Version: 4.27.5
4
4
  Summary: Pure python3 implementation for working with iDevices (iPhone, etc...)
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>