pymobiledevice3 6.0.0__tar.gz → 6.0.1__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.
Files changed (230) hide show
  1. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/PKG-INFO +1 -1
  2. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/_version.py +3 -3
  3. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/alert.py +8 -8
  4. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/driver.py +2 -2
  5. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/element.py +3 -3
  6. pymobiledevice3-6.0.1/pymobiledevice3/services/web_protocol/selenium_api.py +91 -0
  7. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/switch_to.py +23 -19
  8. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3.egg-info/PKG-INFO +1 -1
  9. pymobiledevice3-6.0.0/pymobiledevice3/services/web_protocol/selenium_api.py +0 -91
  10. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.gitattributes +0 -0
  11. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/FUNDING.yml +0 -0
  12. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  13. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  14. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  15. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/pull_request_template.md +0 -0
  16. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/workflows/codeql.yml +0 -0
  17. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/workflows/generate-executable.py +0 -0
  18. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/workflows/markdown-lint.yml +0 -0
  19. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/workflows/python-app.yml +0 -0
  20. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.github/workflows/python-publish.yml +0 -0
  21. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.gitignore +0 -0
  22. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/.pre-commit-config.yaml +0 -0
  23. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/CODE_OF_CONDUCT.md +0 -0
  24. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/CONTRIBUTING.md +0 -0
  25. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/LICENSE +0 -0
  26. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/README.md +0 -0
  27. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/example.gif +0 -0
  28. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/markdownlint-config.json +0 -0
  29. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/DTServices-14.2.txt +0 -0
  30. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/DTServices-14.5.txt +0 -0
  31. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/RemoteXPC.md +0 -0
  32. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/plist_sniffer.py +0 -0
  33. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/pyinstaller.md +0 -0
  34. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/remotexpc_sniffer.py +0 -0
  35. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/understanding_idevice_protocol_layers.md +0 -0
  36. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/misc/usbmux_sniff.sh +0 -0
  37. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/__init__.py +0 -0
  38. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/__main__.py +0 -0
  39. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/bonjour.py +0 -0
  40. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/ca.py +0 -0
  41. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/__init__.py +0 -0
  42. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/activation.py +0 -0
  43. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/afc.py +0 -0
  44. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/amfi.py +0 -0
  45. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/apps.py +0 -0
  46. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/backup.py +0 -0
  47. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/bonjour.py +0 -0
  48. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/cli_common.py +0 -0
  49. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/companion_proxy.py +0 -0
  50. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/completions.py +0 -0
  51. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/crash.py +0 -0
  52. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/developer.py +0 -0
  53. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/diagnostics.py +0 -0
  54. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/idam.py +0 -0
  55. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/lockdown.py +0 -0
  56. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/mounter.py +0 -0
  57. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/notification.py +0 -0
  58. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/pcap.py +0 -0
  59. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/power_assertion.py +0 -0
  60. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/processes.py +0 -0
  61. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/profile.py +0 -0
  62. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/provision.py +0 -0
  63. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/remote.py +0 -0
  64. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/restore.py +0 -0
  65. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/springboard.py +0 -0
  66. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/syslog.py +0 -0
  67. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/usbmux.py +0 -0
  68. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/version.py +0 -0
  69. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/cli/webinspector.py +0 -0
  70. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/common.py +0 -0
  71. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/exceptions.py +0 -0
  72. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/irecv.py +0 -0
  73. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/irecv_devices.py +0 -0
  74. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/lockdown.py +0 -0
  75. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/lockdown_service_provider.py +0 -0
  76. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/osu/__init__.py +0 -0
  77. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/osu/os_utils.py +0 -0
  78. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/osu/posix_util.py +0 -0
  79. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/osu/win_util.py +0 -0
  80. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/pair_records.py +0 -0
  81. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/__init__.py +0 -0
  82. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/common.py +0 -0
  83. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/core_device/__init__.py +0 -0
  84. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/core_device/app_service.py +0 -0
  85. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/core_device/core_device_service.py +0 -0
  86. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/core_device/device_info.py +0 -0
  87. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/core_device/diagnostics_service.py +0 -0
  88. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/core_device/file_service.py +0 -0
  89. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/module_imports.py +0 -0
  90. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/remote_service.py +0 -0
  91. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/remote_service_discovery.py +0 -0
  92. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/remotexpc.py +0 -0
  93. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/tunnel_service.py +0 -0
  94. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/utils.py +0 -0
  95. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/remote/xpc_message.py +0 -0
  96. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/__init__.py +0 -0
  97. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/dsc_uuid_map.json +0 -0
  98. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/dsc_uuid_map.py +0 -0
  99. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/firmware_notifications.py +0 -0
  100. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/notifications.txt +0 -0
  101. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/element_attribute.js +0 -0
  102. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/element_clear.js +0 -0
  103. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/enter_fullscreen.js +0 -0
  104. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/find_nodes.js +0 -0
  105. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/focus.js +0 -0
  106. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/get_attribute.js +0 -0
  107. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/is_displayed.js +0 -0
  108. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/is_editable.js +0 -0
  109. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/resources/webinspector/is_enabled.js +0 -0
  110. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/__init__.py +0 -0
  111. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/asr.py +0 -0
  112. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/base_restore.py +0 -0
  113. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/consts.py +0 -0
  114. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/device.py +0 -0
  115. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/fdr.py +0 -0
  116. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/ftab.py +0 -0
  117. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/img4.py +0 -0
  118. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/mbn.py +0 -0
  119. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/recovery.py +0 -0
  120. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/restore.py +0 -0
  121. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/restore_options.py +0 -0
  122. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/restored_client.py +0 -0
  123. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/restore/tss.py +0 -0
  124. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/service_connection.py +0 -0
  125. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/__init__.py +0 -0
  126. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/accessibilityaudit.py +0 -0
  127. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/afc.py +0 -0
  128. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/amfi.py +0 -0
  129. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/companion.py +0 -0
  130. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/crash_reports.py +0 -0
  131. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/debugserver_applist.py +0 -0
  132. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/device_arbitration.py +0 -0
  133. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/device_link.py +0 -0
  134. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/diagnostics.py +0 -0
  135. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dtfetchsymbols.py +0 -0
  136. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/__init__.py +0 -0
  137. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/dvt_secure_socket_proxy.py +0 -0
  138. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/dvt_testmanaged_proxy.py +0 -0
  139. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/__init__.py +0 -0
  140. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/activity_trace_tap.py +0 -0
  141. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/application_listing.py +0 -0
  142. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/condition_inducer.py +0 -0
  143. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/core_profile_session_tap.py +0 -0
  144. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/device_info.py +0 -0
  145. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/energy_monitor.py +0 -0
  146. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/graphics.py +0 -0
  147. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/location_simulation.py +0 -0
  148. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/location_simulation_base.py +0 -0
  149. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/network_monitor.py +0 -0
  150. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/notifications.py +0 -0
  151. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/process_control.py +0 -0
  152. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/screenshot.py +0 -0
  153. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/instruments/sysmontap.py +0 -0
  154. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/dvt/testmanaged/xcuitest.py +0 -0
  155. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/file_relay.py +0 -0
  156. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/heartbeat.py +0 -0
  157. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/house_arrest.py +0 -0
  158. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/idam.py +0 -0
  159. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/installation_proxy.py +0 -0
  160. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/lockdown_service.py +0 -0
  161. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/misagent.py +0 -0
  162. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/mobile_activation.py +0 -0
  163. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/mobile_config.py +0 -0
  164. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/mobile_image_mounter.py +0 -0
  165. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/mobilebackup2.py +0 -0
  166. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/notification_proxy.py +0 -0
  167. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/os_trace.py +0 -0
  168. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/pcapd.py +0 -0
  169. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/power_assertion.py +0 -0
  170. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/preboard.py +0 -0
  171. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/remote_fetch_symbols.py +0 -0
  172. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/remote_server.py +0 -0
  173. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/restore_service.py +0 -0
  174. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/screenshot.py +0 -0
  175. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/simulate_location.py +0 -0
  176. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/springboard.py +0 -0
  177. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/syslog.py +0 -0
  178. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/__init__.py +0 -0
  179. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/automation_session.py +0 -0
  180. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/cdp_screencast.py +0 -0
  181. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/cdp_server.py +0 -0
  182. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/cdp_target.py +0 -0
  183. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/inspector_session.py +0 -0
  184. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/web_protocol/session_protocol.py +0 -0
  185. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/services/webinspector.py +0 -0
  186. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/tcp_forwarder.py +0 -0
  187. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/tunneld/__init__.py +0 -0
  188. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/tunneld/api.py +0 -0
  189. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/tunneld/server.py +0 -0
  190. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/usbmux.py +0 -0
  191. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3/utils.py +0 -0
  192. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3.egg-info/SOURCES.txt +0 -0
  193. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3.egg-info/dependency_links.txt +0 -0
  194. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3.egg-info/entry_points.txt +0 -0
  195. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3.egg-info/requires.txt +0 -0
  196. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pymobiledevice3.egg-info/top_level.txt +0 -0
  197. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pyproject.toml +0 -0
  198. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/pytest.ini +0 -0
  199. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/requirements.txt +0 -0
  200. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/setup.cfg +0 -0
  201. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/__init__.py +0 -0
  202. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/cli/__init__.py +0 -0
  203. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/cli/test_cli.py +0 -0
  204. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/conftest.py +0 -0
  205. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/__init__.py +0 -0
  206. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/instruments/__init__.py +0 -0
  207. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/instruments/test_core_profile_session.py +0 -0
  208. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/instruments/test_dvt_secure_socket_proxy.py +0 -0
  209. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/instruments/test_fetch_symbols.py +0 -0
  210. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/instruments/test_location.py +0 -0
  211. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/instruments/test_screenshot.py +0 -0
  212. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_accessibility.py +0 -0
  213. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_afc.py +0 -0
  214. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_apps.py +0 -0
  215. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_backup2.py +0 -0
  216. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_bonjour.py +0 -0
  217. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_crash_reports.py +0 -0
  218. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_list_devices.py +0 -0
  219. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_lockdown.py +0 -0
  220. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_pcapd.py +0 -0
  221. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_springboard_services_relay.py +0 -0
  222. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_start_tunnel.py +0 -0
  223. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_syslog_relay.py +0 -0
  224. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_tcp_forwarder.py +0 -0
  225. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_web_protocol/__init__.py +0 -0
  226. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_web_protocol/common.py +0 -0
  227. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_web_protocol/conftest.py +0 -0
  228. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_web_protocol/test_driver.py +0 -0
  229. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_web_protocol/test_element.py +0 -0
  230. {pymobiledevice3-6.0.0 → pymobiledevice3-6.0.1}/tests/services/test_webinspector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 6.0.0
3
+ Version: 6.0.1
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 = '6.0.0'
32
- __version_tuple__ = version_tuple = (6, 0, 0)
31
+ __version__ = version = '6.0.1'
32
+ __version_tuple__ = version_tuple = (6, 0, 1)
33
33
 
34
- __commit_id__ = commit_id = 'g135400891'
34
+ __commit_id__ = commit_id = 'g782364170'
@@ -5,22 +5,22 @@ class Alert:
5
5
  """
6
6
  self.session = session
7
7
 
8
- def accept(self):
8
+ async def accept(self):
9
9
  """Accepts the alert available."""
10
- self.session.accept_current_javascript_dialog()
10
+ await self.session.accept_current_javascript_dialog()
11
11
 
12
- def dismiss(self):
12
+ async def dismiss(self):
13
13
  """Dismisses the alert available."""
14
- self.session.dismiss_current_javascript_dialog()
14
+ await self.session.dismiss_current_javascript_dialog()
15
15
 
16
- def send_keys(self, text: str):
16
+ async def send_keys(self, text: str):
17
17
  """
18
18
  Send Keys to the Alert.
19
19
  :param text: Text to send to prompts.
20
20
  """
21
- self.session.set_user_input_for_current_javascript_prompt(text)
21
+ await self.session.set_user_input_for_current_javascript_prompt(text)
22
22
 
23
23
  @property
24
- def text(self) -> str:
24
+ async def text(self) -> str:
25
25
  """Gets the text of the Alert."""
26
- return self.session.message_of_current_javascript_dialog()
26
+ return await self.session.message_of_current_javascript_dialog()
@@ -127,9 +127,9 @@ class WebDriver(SeleniumApi):
127
127
  """Gets the screenshot of the current window as a base64 encoded string."""
128
128
  return await self.session.screenshot_as_base64()
129
129
 
130
- def get_window_position(self) -> Point:
130
+ async def get_window_position(self) -> Point:
131
131
  """Gets the x,y position of the current window."""
132
- rect = self.get_window_rect()
132
+ rect = await self.get_window_rect()
133
133
  return Point(x=rect.x, y=rect.y)
134
134
 
135
135
  async def get_window_rect(self) -> Rect:
@@ -54,7 +54,7 @@ class WebElement(SeleniumApi):
54
54
 
55
55
  async def find_element(self, by=By.ID, value=None):
56
56
  """Find an element given a By strategy and locator."""
57
- elem = self.session.find_elements(by, value, root=self.id_)
57
+ elem = await self.session.find_elements(by, value, root=self.id_)
58
58
  return None if elem is None else WebElement(self.session, elem)
59
59
 
60
60
  async def find_elements(self, by=By.ID, value=None):
@@ -180,9 +180,9 @@ class WebElement(SeleniumApi):
180
180
  "}"
181
181
  )
182
182
 
183
- def is_editable(self) -> bool:
183
+ async def is_editable(self) -> bool:
184
184
  """Returns whether the element is editable."""
185
- return self._evaluate_js_function(IS_EDITABLE)
185
+ return await self._evaluate_js_function(IS_EDITABLE)
186
186
 
187
187
  async def _compute_layout(self, scroll_if_needed=True, use_viewport=False):
188
188
  try:
@@ -0,0 +1,91 @@
1
+ from abc import ABC, abstractmethod
2
+ from base64 import b64decode
3
+
4
+ from pymobiledevice3.services.web_protocol.automation_session import By
5
+
6
+
7
+ class SeleniumApi(ABC):
8
+ @abstractmethod
9
+ async def find_element(self, by=By.ID, value=None):
10
+ pass
11
+
12
+ @abstractmethod
13
+ async def find_elements(self, by=By.ID, value=None):
14
+ pass
15
+
16
+ @property
17
+ @abstractmethod
18
+ async def screenshot_as_base64(self) -> str:
19
+ pass
20
+
21
+ async def find_element_by_class_name(self, name):
22
+ return await self.find_element(By.CLASS_NAME, name)
23
+
24
+ async def find_element_by_css_selector(self, css_selector):
25
+ return await self.find_element(By.CSS_SELECTOR, css_selector)
26
+
27
+ async def find_element_by_id(self, id_):
28
+ return await self.find_element(value=id_)
29
+
30
+ async def find_element_by_link_text(self, link_text):
31
+ return await self.find_element(By.LINK_TEXT, link_text)
32
+
33
+ async def find_element_by_name(self, name):
34
+ return await self.find_element(By.NAME, name)
35
+
36
+ async def find_element_by_partial_link_text(self, link_text):
37
+ return await self.find_element(By.PARTIAL_LINK_TEXT, link_text)
38
+
39
+ async def find_element_by_tag_name(self, name):
40
+ return await self.find_element(By.TAG_NAME, name)
41
+
42
+ async def find_element_by_xpath(self, xpath):
43
+ return await self.find_element(By.XPATH, xpath)
44
+
45
+ async def find_elements_by_class_name(self, name):
46
+ return await self.find_elements(By.CLASS_NAME, name)
47
+
48
+ async def find_elements_by_css_selector(self, css_selector):
49
+ return await self.find_elements(By.CSS_SELECTOR, css_selector)
50
+
51
+ async def find_elements_by_id(self, id_):
52
+ return await self.find_elements(value=id_)
53
+
54
+ async def find_elements_by_link_text(self, link_text):
55
+ return await self.find_elements(By.LINK_TEXT, link_text)
56
+
57
+ async def find_elements_by_name(self, name):
58
+ return await self.find_elements(By.NAME, name)
59
+
60
+ async def find_elements_by_partial_link_text(self, link_text):
61
+ return await self.find_elements(By.PARTIAL_LINK_TEXT, link_text)
62
+
63
+ async def find_elements_by_tag_name(self, name):
64
+ return await self.find_elements(By.TAG_NAME, name)
65
+
66
+ async def find_elements_by_xpath(self, xpath):
67
+ return await self.find_elements(By.XPATH, xpath)
68
+
69
+ async def screenshot(self, filename):
70
+ png = await self.screenshot_as_png()
71
+ try:
72
+ with open(filename, "wb") as f:
73
+ f.write(png)
74
+ except OSError:
75
+ return False
76
+ return True
77
+
78
+ async def screenshot_as_png(self) -> bytes:
79
+ return b64decode((await self.screenshot_as_base64).encode("ascii"))
80
+
81
+ async def get_screenshot_as_base64(self) -> str:
82
+ return await self.screenshot_as_base64
83
+
84
+ async def get_screenshot_as_file(self, filename):
85
+ return await self.screenshot(filename)
86
+
87
+ async def get_screenshot_as_png(self):
88
+ return await self.screenshot_as_png()
89
+
90
+ async def save_screenshot(self, filename) -> bool:
91
+ return await self.screenshot(filename)
@@ -11,10 +11,12 @@ class SwitchTo:
11
11
  self.session = session
12
12
 
13
13
  @property
14
- def active_element(self) -> WebElement:
14
+ async def active_element(self) -> WebElement:
15
15
  """Returns the element with focus, or BODY if nothing has focus."""
16
- self.session.wait_for_navigation_to_complete()
17
- elem = self.session.evaluate_js_function("function() { return document.activeElement; }", include_frame=False)
16
+ await self.session.wait_for_navigation_to_complete()
17
+ elem = await self.session.evaluate_js_function(
18
+ "function() { return document.activeElement; }", include_frame=False
19
+ )
18
20
  return WebElement(self.session, elem)
19
21
 
20
22
  @property
@@ -22,11 +24,11 @@ class SwitchTo:
22
24
  """Switches focus to an alert on the page."""
23
25
  return Alert(self.session)
24
26
 
25
- def default_content(self):
27
+ async def default_content(self):
26
28
  """Switch focus to the default frame."""
27
- self.session.switch_to_browsing_context("")
29
+ await self.session.switch_to_browsing_context("")
28
30
 
29
- def frame(self, frame_reference):
31
+ async def frame(self, frame_reference):
30
32
  """
31
33
  Switches focus to the specified frame, by index, name, or web element.
32
34
  :param frame_reference: The name of the window to switch to, an integer representing the index,
@@ -35,32 +37,34 @@ class SwitchTo:
35
37
  if isinstance(frame_reference, (int, WebElement)):
36
38
  frame = frame_reference
37
39
  elif isinstance(frame_reference, str):
38
- elem = self.session.find_elements(By.ID, frame_reference)
40
+ elem = await self.session.find_elements(By.ID, frame_reference)
39
41
  if elem is None:
40
- elem = self.session.find_elements(By.NAME, frame_reference)
42
+ elem = await self.session.find_elements(By.NAME, frame_reference)
41
43
  frame = WebElement(self.session, elem)
42
44
  else:
43
45
  raise TypeError()
44
46
 
45
- self.session.wait_for_navigation_to_complete()
47
+ await self.session.wait_for_navigation_to_complete()
46
48
  if isinstance(frame, int):
47
- self.session.switch_to_frame(frame_ordinal=frame)
49
+ await self.session.switch_to_frame(frame_ordinal=frame)
48
50
  else:
49
- self.session.switch_to_frame(frame_handle=frame)
51
+ await self.session.switch_to_frame(frame_handle=frame)
50
52
 
51
- def new_window(self, type_=""):
53
+ async def new_window(self, type_=""):
52
54
  """Switches to a new top-level browsing context."""
53
- self.session.switch_to_window(self.session.create_window(type_))
55
+ await self.session.switch_to_window(self.session.create_window(type_))
54
56
 
55
- def parent_frame(self):
57
+ async def parent_frame(self):
56
58
  """
57
59
  Switches focus to the parent context. If the current context is the top
58
60
  level browsing context, the context remains unchanged.
59
61
  """
60
- self.session.wait_for_navigation_to_complete()
61
- self.session.switch_to_browsing_context_frame(self.session.top_level_handle, self.session.current_parent_handle)
62
- self.session.switch_to_browsing_context(self.session.current_parent_handle)
62
+ await self.session.wait_for_navigation_to_complete()
63
+ await self.session.switch_to_browsing_context_frame(
64
+ self.session.top_level_handle, self.session.current_parent_handle
65
+ )
66
+ await self.session.switch_to_browsing_context(self.session.current_parent_handle)
63
67
 
64
- def window(self, window_name):
68
+ async def window(self, window_name):
65
69
  """Switches focus to the specified window."""
66
- self.session.switch_to_window(window_name)
70
+ await self.session.switch_to_window(window_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 6.0.0
3
+ Version: 6.0.1
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>
@@ -1,91 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from base64 import b64decode
3
-
4
- from pymobiledevice3.services.web_protocol.automation_session import By
5
-
6
-
7
- class SeleniumApi(ABC):
8
- @abstractmethod
9
- def find_element(self, by=By.ID, value=None):
10
- pass
11
-
12
- @abstractmethod
13
- def find_elements(self, by=By.ID, value=None):
14
- pass
15
-
16
- @property
17
- @abstractmethod
18
- def screenshot_as_base64(self):
19
- pass
20
-
21
- def find_element_by_class_name(self, name):
22
- return self.find_element(By.CLASS_NAME, name)
23
-
24
- def find_element_by_css_selector(self, css_selector):
25
- return self.find_element(By.CSS_SELECTOR, css_selector)
26
-
27
- def find_element_by_id(self, id_):
28
- return self.find_element(value=id_)
29
-
30
- def find_element_by_link_text(self, link_text):
31
- return self.find_element(By.LINK_TEXT, link_text)
32
-
33
- def find_element_by_name(self, name):
34
- return self.find_element(By.NAME, name)
35
-
36
- def find_element_by_partial_link_text(self, link_text):
37
- return self.find_element(By.PARTIAL_LINK_TEXT, link_text)
38
-
39
- def find_element_by_tag_name(self, name):
40
- return self.find_element(By.TAG_NAME, name)
41
-
42
- def find_element_by_xpath(self, xpath):
43
- return self.find_element(By.XPATH, xpath)
44
-
45
- def find_elements_by_class_name(self, name):
46
- return self.find_elements(By.CLASS_NAME, name)
47
-
48
- def find_elements_by_css_selector(self, css_selector):
49
- return self.find_elements(By.CSS_SELECTOR, css_selector)
50
-
51
- def find_elements_by_id(self, id_):
52
- return self.find_elements(value=id_)
53
-
54
- def find_elements_by_link_text(self, link_text):
55
- return self.find_elements(By.LINK_TEXT, link_text)
56
-
57
- def find_elements_by_name(self, name):
58
- return self.find_elements(By.NAME, name)
59
-
60
- def find_elements_by_partial_link_text(self, link_text):
61
- return self.find_elements(By.PARTIAL_LINK_TEXT, link_text)
62
-
63
- def find_elements_by_tag_name(self, name):
64
- return self.find_elements(By.TAG_NAME, name)
65
-
66
- def find_elements_by_xpath(self, xpath):
67
- return self.find_elements(By.XPATH, xpath)
68
-
69
- def screenshot(self, filename):
70
- png = self.screenshot_as_png()
71
- try:
72
- with open(filename, "wb") as f:
73
- f.write(png)
74
- except OSError:
75
- return False
76
- return True
77
-
78
- def screenshot_as_png(self):
79
- return b64decode(self.screenshot_as_base64.encode("ascii"))
80
-
81
- def get_screenshot_as_base64(self):
82
- return self.screenshot_as_base64
83
-
84
- def get_screenshot_as_file(self, filename):
85
- return self.screenshot(filename)
86
-
87
- def get_screenshot_as_png(self):
88
- return self.screenshot_as_png()
89
-
90
- def save_screenshot(self, filename) -> bool:
91
- return self.screenshot(filename)
File without changes