pymobiledevice3 7.0.0__py3-none-any.whl → 7.0.2__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.
@@ -44,6 +44,7 @@ from pymobiledevice3.exceptions import (
44
44
  QuicProtocolNotSupportedError,
45
45
  RSDRequiredError,
46
46
  SetProhibitedError,
47
+ StartServiceError,
47
48
  TunneldConnectionError,
48
49
  UserDeniedPairingError,
49
50
  )
@@ -402,6 +403,14 @@ def invoke_cli_with_error_handling() -> bool:
402
403
  )
403
404
  except QuicProtocolNotSupportedError:
404
405
  logger.error("Encountered a QUIC protocol error.")
406
+ except StartServiceError as e:
407
+ if e.message == "ServiceProhibited" and e.service_name == "com.apple.pcapd.shim.remote":
408
+ logger.error(
409
+ f"The {e.service_name} service is USB only (at least for some iOS versions).\n"
410
+ "Full discussion is available in: https://github.com/doronz88/pymobiledevice3/issues/1515"
411
+ )
412
+ else:
413
+ logger.error(f"Failed to start: {e.service_name} with. Received error: {e.message}.")
405
414
  except click.ClickException as e:
406
415
  from typer import rich_utils
407
416
 
@@ -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 = '7.0.0'
32
- __version_tuple__ = version_tuple = (7, 0, 0)
31
+ __version__ = version = '7.0.2'
32
+ __version_tuple__ = version_tuple = (7, 0, 2)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -107,7 +107,10 @@ class PasswordRequiredError(PairingError):
107
107
 
108
108
 
109
109
  class StartServiceError(PyMobileDevice3Exception):
110
- pass
110
+ def __init__(self, service_name: str, message: str) -> None:
111
+ super().__init__()
112
+ self.service_name = service_name
113
+ self.message = message
111
114
 
112
115
 
113
116
  class FatalPairingError(PyMobileDevice3Exception):
@@ -580,7 +580,7 @@ class LockdownClient(ABC, LockdownServiceProvider):
580
580
  raise PasswordRequiredError(
581
581
  "your device is protected with password, please enter password in device and try again"
582
582
  )
583
- raise StartServiceError(response.get("Error"))
583
+ raise StartServiceError(name, response.get("Error"))
584
584
  return response
585
585
 
586
586
  @_reconnect_on_remote_close
@@ -105,6 +105,9 @@ class RemoteServiceDiscoveryService(LockdownServiceProvider):
105
105
  raise PyMobileDevice3Exception(
106
106
  f'Invalid response for RSDCheckIn: {response}. Expected "ServiceService"'
107
107
  )
108
+ error = response.get("Error")
109
+ if error is not None:
110
+ raise StartServiceError(name, error)
108
111
  except Exception:
109
112
  service.close()
110
113
  raise
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 7.0.0
3
+ Version: 7.0.2
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>
@@ -7,15 +7,15 @@ misc/remotexpc_sniffer.py,sha256=EMhJusdbOhFHJCYF2TLtNABAnzAibIeq8hxRu4xaVhA,797
7
7
  misc/understanding_idevice_protocol_layers.md,sha256=FMJQ-ik2j9kFLPS15JzDZg62uk1FzxDnfHO6Nf5EM-A,19207
8
8
  misc/usbmux_sniff.sh,sha256=iWtbucOEQ9_UEFXk9x-2VNt48Jg5zrPsnUbZ_LfZxwA,212
9
9
  pymobiledevice3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- pymobiledevice3/__main__.py,sha256=2ZtOv3OfsWyjNNFtWR7AiHZTdPQXcfPIwEJWCiFaJUQ,15876
11
- pymobiledevice3/_version.py,sha256=lB_6pZBic6H_5wY9p7_cc7miE65gtXFl65pORFxuiX0,704
10
+ pymobiledevice3/__main__.py,sha256=Ogsyro4MUVVSciEtg8kZufL81AHcjuphItnaL0BT10Q,16386
11
+ pymobiledevice3/_version.py,sha256=Sd7srCYvlucRy8Y17pgfM_X-99Va2KsO3sfgkXAvKVo,704
12
12
  pymobiledevice3/bonjour.py,sha256=lmx3uCaiolF59AieftmTKqktNod5ZDyJ06oRZdYKHSE,13681
13
13
  pymobiledevice3/ca.py,sha256=5_Y4F-zDFX_KeDL-M_TRCKKyrRRb9h1lBE8MGTWv91o,10606
14
14
  pymobiledevice3/common.py,sha256=FZzF0BQYV5fCEUPbLo6jbt2Ig9s5YwR8AvX_iR124Ew,329
15
- pymobiledevice3/exceptions.py,sha256=7l1PPBxsK2Sw-LcXiZui7D6kDH92b44YDAsNg7Wtq6Y,10737
15
+ pymobiledevice3/exceptions.py,sha256=hEAAvzGRZ4Ij9IKwu9BaBhKZAM57VEZxfcrDf76eCCA,10892
16
16
  pymobiledevice3/irecv.py,sha256=623PDDVXQGPXtNPE-134sp0Gnys7VkWmb0ZQPZ2xrsE,10570
17
17
  pymobiledevice3/irecv_devices.py,sha256=Mpp0AZYwFxqtqS9dTPdLZfxnj6UiDf8HbGGrHpsSnIA,44220
18
- pymobiledevice3/lockdown.py,sha256=xq4psDQir4CBIlMgRRkAZ6GxhjXPz-I6D5vdcfmjTw4,39570
18
+ pymobiledevice3/lockdown.py,sha256=CgT3FApB3SLXbvbL3I7OFN7IkiPpSKjdxA1Zr0I6xIs,39576
19
19
  pymobiledevice3/lockdown_service_provider.py,sha256=mj5Hf3fNWdVYYUayKnLO3NWNgvD0xDMAiSIXKDcXCuk,1814
20
20
  pymobiledevice3/pair_records.py,sha256=4T32UPcBuN_4e-QFzGLoDoUBg3k7hgQh72Yo3CTi18M,6001
21
21
  pymobiledevice3/service_connection.py,sha256=7-FxkycdgzAMcPqn5j5K4z8Zj5O_EOAj67j9DhkJcOY,15041
@@ -72,7 +72,7 @@ pymobiledevice3/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
72
72
  pymobiledevice3/remote/common.py,sha256=epLBlSCw8e8w2XvgsCuZfZYAwzHCQpBZ_S6U-_rl8oE,288
73
73
  pymobiledevice3/remote/module_imports.py,sha256=DwExSL1r4kkFIWmXiQpqPo-cGl4duYd33kJGyVckYuA,829
74
74
  pymobiledevice3/remote/remote_service.py,sha256=fCyzm4oT_WEorAXVHVLYnIOyTOuMGhX69Co3HkUdRYY,867
75
- pymobiledevice3/remote/remote_service_discovery.py,sha256=SR6W_0PkyUTUeYAQKxExId8LTKqSpF1ssVydCZSWdXw,7592
75
+ pymobiledevice3/remote/remote_service_discovery.py,sha256=lBIGzkeM8zyOP3pRDG2sMZ_9p5gyGpvc2CxurcZ0pwc,7721
76
76
  pymobiledevice3/remote/remotexpc.py,sha256=tyGHn-IMDiM7WeGhfKMC1yH-ONEto-zCVpnvhE4i2Yw,8266
77
77
  pymobiledevice3/remote/tunnel_service.py,sha256=AmqvIb-0fUT9KzJub3QcMbtHtHuBBDh4ZKHIeAmkyk8,45961
78
78
  pymobiledevice3/remote/utils.py,sha256=RPyDYCLqe638FoPIJ7Lcmx05BJqM2PseJe9lc3Al3bM,2550
@@ -180,9 +180,9 @@ pymobiledevice3/services/web_protocol/switch_to.py,sha256=TCdVrMfsvd18o-vZ0owVrE
180
180
  pymobiledevice3/tunneld/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
181
  pymobiledevice3/tunneld/api.py,sha256=Lwl1OdhPTgX6Zqezy8T4dEcXRfaEPwyGNClioTx3fUc,2338
182
182
  pymobiledevice3/tunneld/server.py,sha256=dMEZAv_X-76l0vSalpq4x0IVkbE-MNGR77T-u1TiHuE,25752
183
- pymobiledevice3-7.0.0.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
184
- pymobiledevice3-7.0.0.dist-info/METADATA,sha256=rfdl6HXQYVuK2RKltF0jDIPDkjaN42rSR8B2HphAXRg,17500
185
- pymobiledevice3-7.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
186
- pymobiledevice3-7.0.0.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
187
- pymobiledevice3-7.0.0.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
188
- pymobiledevice3-7.0.0.dist-info/RECORD,,
183
+ pymobiledevice3-7.0.2.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
184
+ pymobiledevice3-7.0.2.dist-info/METADATA,sha256=Q9FFjzNplZDqxJtKSt3B9GVRiCLkB3RJJdvpEQZMuYQ,17500
185
+ pymobiledevice3-7.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
186
+ pymobiledevice3-7.0.2.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
187
+ pymobiledevice3-7.0.2.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
188
+ pymobiledevice3-7.0.2.dist-info/RECORD,,