@bharper/atv-js 0.2.6 → 0.3.4

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 (283) hide show
  1. package/dist/index.d.ts +15 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +89 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/mdns.d.ts.map +1 -1
  6. package/dist/mdns.js +96 -11
  7. package/dist/mdns.js.map +1 -1
  8. package/examples/print-device-json.js +22 -0
  9. package/package.json +2 -3
  10. package/pyatv/.codecov.yml +38 -0
  11. package/pyatv/.github/FUNDING.yml +3 -0
  12. package/pyatv/.github/ISSUE_TEMPLATE/bug_report.yml +80 -0
  13. package/pyatv/.github/ISSUE_TEMPLATE/config.yml +1 -0
  14. package/pyatv/.github/ISSUE_TEMPLATE/feature_request.yml +22 -0
  15. package/pyatv/.github/ISSUE_TEMPLATE/implementation-proposal.yml +29 -0
  16. package/pyatv/.github/ISSUE_TEMPLATE/investigation.yml +16 -0
  17. package/pyatv/.github/ISSUE_TEMPLATE/minor-change.yml +10 -0
  18. package/pyatv/.github/ISSUE_TEMPLATE/question-or-idea.yml +11 -0
  19. package/pyatv/.github/dependabot.yml +26 -0
  20. package/pyatv/.github/workflows/codeql-analysis.yml +71 -0
  21. package/pyatv/.github/workflows/release.yml +160 -0
  22. package/pyatv/.github/workflows/tests.yml +104 -0
  23. package/pyatv/.gitpod.yml +23 -0
  24. package/pyatv/CHANGES.md +3708 -0
  25. package/pyatv/CODE_OF_CONDUCT.md +76 -0
  26. package/pyatv/CONTRIBUTING.md +72 -0
  27. package/pyatv/CONTRIBUTORS.md +3 -0
  28. package/pyatv/Dockerfile +15 -0
  29. package/pyatv/LICENSE.md +9 -0
  30. package/pyatv/MANIFEST.in +14 -0
  31. package/pyatv/README.md +111 -0
  32. package/pyatv/base_versions.txt +13 -0
  33. package/pyatv/chickn.yaml +75 -0
  34. package/pyatv/docs/404.html +24 -0
  35. package/pyatv/docs/CNAME +1 -0
  36. package/pyatv/docs/Gemfile +31 -0
  37. package/pyatv/docs/_config.yml +121 -0
  38. package/pyatv/docs/_includes/api +10 -0
  39. package/pyatv/docs/_includes/atvremote_scan +32 -0
  40. package/pyatv/docs/_includes/code +6 -0
  41. package/pyatv/docs/_includes/issue +14 -0
  42. package/pyatv/docs/_includes/pypi +5 -0
  43. package/pyatv/docs/_layouts/template.html +109 -0
  44. package/pyatv/docs/api/pyatv.conf.html +312 -0
  45. package/pyatv/docs/api/pyatv.const.html +974 -0
  46. package/pyatv/docs/api/pyatv.convert.html +106 -0
  47. package/pyatv/docs/api/pyatv.exceptions.html +489 -0
  48. package/pyatv/docs/api/pyatv.helpers.html +102 -0
  49. package/pyatv/docs/api/pyatv.html +120 -0
  50. package/pyatv/docs/api/pyatv.interface.html +2369 -0
  51. package/pyatv/docs/api/pyatv.settings.html +484 -0
  52. package/pyatv/docs/api/pyatv.storage.file_storage.html +102 -0
  53. package/pyatv/docs/api/pyatv.storage.html +186 -0
  54. package/pyatv/docs/api/pyatv.storage.memory_storage.html +83 -0
  55. package/pyatv/docs/assets/css/custom.css +19 -0
  56. package/pyatv/docs/assets/css/hljs.css +1 -0
  57. package/pyatv/docs/assets/css/normalize.css +349 -0
  58. package/pyatv/docs/assets/css/pdoc.css +287 -0
  59. package/pyatv/docs/assets/css/sanitize.css +566 -0
  60. package/pyatv/docs/assets/css/style.scss +9 -0
  61. package/pyatv/docs/assets/img/logo.svg +63 -0
  62. package/pyatv/docs/assets/js/highlight.9.12.0.min.js +3 -0
  63. package/pyatv/docs/assets/js/mermaid.8.9.2.min.js +32 -0
  64. package/pyatv/docs/assets/js/mermaid.min.js.map +1 -0
  65. package/pyatv/docs/development/apps.md +81 -0
  66. package/pyatv/docs/development/audio.md +42 -0
  67. package/pyatv/docs/development/control.md +56 -0
  68. package/pyatv/docs/development/development.md +15 -0
  69. package/pyatv/docs/development/device_info.md +36 -0
  70. package/pyatv/docs/development/examples.md +44 -0
  71. package/pyatv/docs/development/features.md +70 -0
  72. package/pyatv/docs/development/keyboard.md +51 -0
  73. package/pyatv/docs/development/listeners.md +144 -0
  74. package/pyatv/docs/development/logging.md +55 -0
  75. package/pyatv/docs/development/metadata.md +115 -0
  76. package/pyatv/docs/development/power_management.md +53 -0
  77. package/pyatv/docs/development/scan_pair_and_connect.md +331 -0
  78. package/pyatv/docs/development/services.md +9 -0
  79. package/pyatv/docs/development/storage.md +259 -0
  80. package/pyatv/docs/development/stream.md +241 -0
  81. package/pyatv/docs/development/testing.md +9 -0
  82. package/pyatv/docs/documentation/atvlog.md +64 -0
  83. package/pyatv/docs/documentation/atvproxy.md +244 -0
  84. package/pyatv/docs/documentation/atvremote.md +639 -0
  85. package/pyatv/docs/documentation/atvscript.md +275 -0
  86. package/pyatv/docs/documentation/concepts.md +168 -0
  87. package/pyatv/docs/documentation/documentation.md +130 -0
  88. package/pyatv/docs/documentation/getting_started.md +248 -0
  89. package/pyatv/docs/documentation/protocols.md +1959 -0
  90. package/pyatv/docs/documentation/supported_features.md +246 -0
  91. package/pyatv/docs/documentation/tutorial.md +1062 -0
  92. package/pyatv/docs/documentation/workspace.code-workspace +7 -0
  93. package/pyatv/docs/favicon.ico +0 -0
  94. package/pyatv/docs/index.md +109 -0
  95. package/pyatv/docs/internals/design.md +354 -0
  96. package/pyatv/docs/internals/documentation.md +84 -0
  97. package/pyatv/docs/internals/interfaces.md +95 -0
  98. package/pyatv/docs/internals/internals.md +157 -0
  99. package/pyatv/docs/internals/submit_pr.md +56 -0
  100. package/pyatv/docs/internals/testing.md +176 -0
  101. package/pyatv/docs/internals/tools.md +574 -0
  102. package/pyatv/docs/pdoc_templates/config.mako +46 -0
  103. package/pyatv/docs/pdoc_templates/html.mako +454 -0
  104. package/pyatv/docs/support/acknowledgements.md +87 -0
  105. package/pyatv/docs/support/faq.md +214 -0
  106. package/pyatv/docs/support/migration.md +138 -0
  107. package/pyatv/docs/support/scanning_issues.md +110 -0
  108. package/pyatv/docs/support/support.md +18 -0
  109. package/pyatv/docs/support/troubleshooting.md +83 -0
  110. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeMessage.proto +13 -0
  111. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeMessage_pb2.pyi +37 -0
  112. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeResponseMessage.proto +11 -0
  113. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeResponseMessage_pb2.pyi +32 -0
  114. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFormatSettingsMessage.proto +5 -0
  115. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFormatSettingsMessage_pb2.pyi +27 -0
  116. package/pyatv/pyatv/protocols/mrp/protobuf/ClientUpdatesConfigMessage.proto +16 -0
  117. package/pyatv/pyatv/protocols/mrp/protobuf/ClientUpdatesConfigMessage_pb2.pyi +44 -0
  118. package/pyatv/pyatv/protocols/mrp/protobuf/CommandInfo.proto +117 -0
  119. package/pyatv/pyatv/protocols/mrp/protobuf/CommandInfo_pb2.pyi +325 -0
  120. package/pyatv/pyatv/protocols/mrp/protobuf/CommandOptions.proto +36 -0
  121. package/pyatv/pyatv/protocols/mrp/protobuf/CommandOptions_pb2.pyi +115 -0
  122. package/pyatv/pyatv/protocols/mrp/protobuf/Common.proto +79 -0
  123. package/pyatv/pyatv/protocols/mrp/protobuf/Common_pb2.pyi +228 -0
  124. package/pyatv/pyatv/protocols/mrp/protobuf/ConfigureConnectionMessage.proto +11 -0
  125. package/pyatv/pyatv/protocols/mrp/protobuf/ConfigureConnectionMessage_pb2.pyi +32 -0
  126. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItem.proto +27 -0
  127. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItemMetadata.proto +213 -0
  128. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItemMetadata_pb2.pyi +630 -0
  129. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItem_pb2.pyi +94 -0
  130. package/pyatv/pyatv/protocols/mrp/protobuf/CryptoPairingMessage.proto +15 -0
  131. package/pyatv/pyatv/protocols/mrp/protobuf/CryptoPairingMessage_pb2.pyi +46 -0
  132. package/pyatv/pyatv/protocols/mrp/protobuf/DeviceInfoMessage.proto +69 -0
  133. package/pyatv/pyatv/protocols/mrp/protobuf/DeviceInfoMessage_pb2.pyi +226 -0
  134. package/pyatv/pyatv/protocols/mrp/protobuf/GenericMessage.proto +12 -0
  135. package/pyatv/pyatv/protocols/mrp/protobuf/GenericMessage_pb2.pyi +35 -0
  136. package/pyatv/pyatv/protocols/mrp/protobuf/GetKeyboardSessionMessage.proto +11 -0
  137. package/pyatv/pyatv/protocols/mrp/protobuf/GetKeyboardSessionMessage_pb2.pyi +26 -0
  138. package/pyatv/pyatv/protocols/mrp/protobuf/GetRemoteTextInputSessionMessage.proto +10 -0
  139. package/pyatv/pyatv/protocols/mrp/protobuf/GetRemoteTextInputSessionMessage_pb2.pyi +26 -0
  140. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeMessage.proto +11 -0
  141. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeMessage_pb2.pyi +32 -0
  142. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeResultMessage.proto +11 -0
  143. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeResultMessage_pb2.pyi +32 -0
  144. package/pyatv/pyatv/protocols/mrp/protobuf/KeyboardMessage.proto +88 -0
  145. package/pyatv/pyatv/protocols/mrp/protobuf/KeyboardMessage_pb2.pyi +261 -0
  146. package/pyatv/pyatv/protocols/mrp/protobuf/LanguageOption.proto +9 -0
  147. package/pyatv/pyatv/protocols/mrp/protobuf/LanguageOption_pb2.pyi +42 -0
  148. package/pyatv/pyatv/protocols/mrp/protobuf/ModifyOutputContextRequestMessage.proto +23 -0
  149. package/pyatv/pyatv/protocols/mrp/protobuf/ModifyOutputContextRequestMessage_pb2.pyi +86 -0
  150. package/pyatv/pyatv/protocols/mrp/protobuf/NotificationMessage.proto +12 -0
  151. package/pyatv/pyatv/protocols/mrp/protobuf/NotificationMessage_pb2.pyi +38 -0
  152. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingClient.proto +12 -0
  153. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingClient_pb2.pyi +49 -0
  154. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingInfo.proto +24 -0
  155. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingInfo_pb2.pyi +79 -0
  156. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingPlayer.proto +11 -0
  157. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingPlayer_pb2.pyi +45 -0
  158. package/pyatv/pyatv/protocols/mrp/protobuf/Origin.proto +17 -0
  159. package/pyatv/pyatv/protocols/mrp/protobuf/OriginClientPropertiesMessage.proto +11 -0
  160. package/pyatv/pyatv/protocols/mrp/protobuf/OriginClientPropertiesMessage_pb2.pyi +32 -0
  161. package/pyatv/pyatv/protocols/mrp/protobuf/Origin_pb2.pyi +63 -0
  162. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueue.proto +15 -0
  163. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities.proto +7 -0
  164. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities_pb2.pyi +33 -0
  165. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueContext.proto +5 -0
  166. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueContext_pb2.pyi +27 -0
  167. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage.proto +29 -0
  168. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage_pb2.pyi +87 -0
  169. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueue_pb2.pyi +53 -0
  170. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerClientPropertiesMessage.proto +13 -0
  171. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerClientPropertiesMessage_pb2.pyi +37 -0
  172. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerPath.proto +11 -0
  173. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerPath_pb2.pyi +39 -0
  174. package/pyatv/pyatv/protocols/mrp/protobuf/ProtocolMessage.proto +171 -0
  175. package/pyatv/pyatv/protocols/mrp/protobuf/ProtocolMessage_pb2.pyi +377 -0
  176. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterForGameControllerEventsMessage.proto +18 -0
  177. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterForGameControllerEventsMessage_pb2.pyi +54 -0
  178. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceMessage.proto +12 -0
  179. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceMessage_pb2.pyi +34 -0
  180. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceResultMessage.proto +12 -0
  181. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceResultMessage_pb2.pyi +35 -0
  182. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceMessage.proto +12 -0
  183. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceMessage_pb2.pyi +34 -0
  184. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceResponseMessage.proto +12 -0
  185. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceResponseMessage_pb2.pyi +35 -0
  186. package/pyatv/pyatv/protocols/mrp/protobuf/RemoteTextInputMessage.proto +13 -0
  187. package/pyatv/pyatv/protocols/mrp/protobuf/RemoteTextInputMessage_pb2.pyi +38 -0
  188. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveClientMessage.proto +12 -0
  189. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveClientMessage_pb2.pyi +34 -0
  190. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveEndpointsMessage.proto +11 -0
  191. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveEndpointsMessage_pb2.pyi +34 -0
  192. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveOutputDevicesMessage.proto +12 -0
  193. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveOutputDevicesMessage_pb2.pyi +38 -0
  194. package/pyatv/pyatv/protocols/mrp/protobuf/RemovePlayerMessage.proto +12 -0
  195. package/pyatv/pyatv/protocols/mrp/protobuf/RemovePlayerMessage_pb2.pyi +34 -0
  196. package/pyatv/pyatv/protocols/mrp/protobuf/SendButtonEventMessage.proto +13 -0
  197. package/pyatv/pyatv/protocols/mrp/protobuf/SendButtonEventMessage_pb2.pyi +38 -0
  198. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandMessage.proto +16 -0
  199. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandMessage_pb2.pyi +43 -0
  200. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandResultMessage.proto +100 -0
  201. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandResultMessage_pb2.pyi +286 -0
  202. package/pyatv/pyatv/protocols/mrp/protobuf/SendHIDEventMessage.proto +41 -0
  203. package/pyatv/pyatv/protocols/mrp/protobuf/SendHIDEventMessage_pb2.pyi +63 -0
  204. package/pyatv/pyatv/protocols/mrp/protobuf/SendPackedVirtualTouchEventMessage.proto +24 -0
  205. package/pyatv/pyatv/protocols/mrp/protobuf/SendPackedVirtualTouchEventMessage_pb2.pyi +64 -0
  206. package/pyatv/pyatv/protocols/mrp/protobuf/SendVoiceInputMessage.proto +38 -0
  207. package/pyatv/pyatv/protocols/mrp/protobuf/SendVoiceInputMessage_pb2.pyi +134 -0
  208. package/pyatv/pyatv/protocols/mrp/protobuf/SetArtworkMessage.proto +11 -0
  209. package/pyatv/pyatv/protocols/mrp/protobuf/SetArtworkMessage_pb2.pyi +32 -0
  210. package/pyatv/pyatv/protocols/mrp/protobuf/SetConnectionStateMessage.proto +18 -0
  211. package/pyatv/pyatv/protocols/mrp/protobuf/SetConnectionStateMessage_pb2.pyi +54 -0
  212. package/pyatv/pyatv/protocols/mrp/protobuf/SetDefaultSupportedCommandsMessage.proto +28 -0
  213. package/pyatv/pyatv/protocols/mrp/protobuf/SetDefaultSupportedCommandsMessage_pb2.pyi +74 -0
  214. package/pyatv/pyatv/protocols/mrp/protobuf/SetDiscoveryModeMessage.proto +12 -0
  215. package/pyatv/pyatv/protocols/mrp/protobuf/SetDiscoveryModeMessage_pb2.pyi +35 -0
  216. package/pyatv/pyatv/protocols/mrp/protobuf/SetHiliteModeMessage.proto +11 -0
  217. package/pyatv/pyatv/protocols/mrp/protobuf/SetHiliteModeMessage_pb2.pyi +32 -0
  218. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingClientMessage.proto +12 -0
  219. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingClientMessage_pb2.pyi +34 -0
  220. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingPlayerMessage.proto +12 -0
  221. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingPlayerMessage_pb2.pyi +34 -0
  222. package/pyatv/pyatv/protocols/mrp/protobuf/SetRecordingStateMessage.proto +17 -0
  223. package/pyatv/pyatv/protocols/mrp/protobuf/SetRecordingStateMessage_pb2.pyi +54 -0
  224. package/pyatv/pyatv/protocols/mrp/protobuf/SetStateMessage.proto +27 -0
  225. package/pyatv/pyatv/protocols/mrp/protobuf/SetStateMessage_pb2.pyi +72 -0
  226. package/pyatv/pyatv/protocols/mrp/protobuf/SetVolumeMessage.proto +12 -0
  227. package/pyatv/pyatv/protocols/mrp/protobuf/SetVolumeMessage_pb2.pyi +35 -0
  228. package/pyatv/pyatv/protocols/mrp/protobuf/SupportedCommands.proto +7 -0
  229. package/pyatv/pyatv/protocols/mrp/protobuf/SupportedCommands_pb2.pyi +30 -0
  230. package/pyatv/pyatv/protocols/mrp/protobuf/TextInputMessage.proto +23 -0
  231. package/pyatv/pyatv/protocols/mrp/protobuf/TextInputMessage_pb2.pyi +76 -0
  232. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionKey.proto +6 -0
  233. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionKey_pb2.pyi +30 -0
  234. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionMessage.proto +15 -0
  235. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionMessage_pb2.pyi +42 -0
  236. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPacket.proto +11 -0
  237. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPacket_pb2.pyi +41 -0
  238. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPackets.proto +7 -0
  239. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPackets_pb2.pyi +30 -0
  240. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateClientMessage.proto +12 -0
  241. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateClientMessage_pb2.pyi +34 -0
  242. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemArtworkMessage.proto +14 -0
  243. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemArtworkMessage_pb2.pyi +41 -0
  244. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemMessage.proto +14 -0
  245. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemMessage_pb2.pyi +41 -0
  246. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateEndPointsMessage.proto +25 -0
  247. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateEndPointsMessage_pb2.pyi +74 -0
  248. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateOutputDeviceMessage.proto +88 -0
  249. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateOutputDeviceMessage_pb2.pyi +277 -0
  250. package/pyatv/pyatv/protocols/mrp/protobuf/UpdatePlayerPath.proto +12 -0
  251. package/pyatv/pyatv/protocols/mrp/protobuf/UpdatePlayerPath_pb2.pyi +34 -0
  252. package/pyatv/pyatv/protocols/mrp/protobuf/VirtualTouchDeviceDescriptorMessage.proto +8 -0
  253. package/pyatv/pyatv/protocols/mrp/protobuf/VirtualTouchDeviceDescriptorMessage_pb2.pyi +36 -0
  254. package/pyatv/pyatv/protocols/mrp/protobuf/VoiceInputDeviceDescriptorMessage.proto +8 -0
  255. package/pyatv/pyatv/protocols/mrp/protobuf/VoiceInputDeviceDescriptorMessage_pb2.pyi +35 -0
  256. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlAvailabilityMessage.proto +23 -0
  257. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlAvailabilityMessage_pb2.pyi +71 -0
  258. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlCapabilitiesDidChangeMessage.proto +14 -0
  259. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlCapabilitiesDidChangeMessage_pb2.pyi +40 -0
  260. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeDidChangeMessage.proto +13 -0
  261. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeDidChangeMessage_pb2.pyi +38 -0
  262. package/pyatv/pyatv/protocols/mrp/protobuf/WakeDeviceMessage.proto +11 -0
  263. package/pyatv/pyatv/protocols/mrp/protobuf/WakeDeviceMessage_pb2.pyi +26 -0
  264. package/pyatv/pyatv/py.typed +0 -0
  265. package/pyatv/pylintrc +49 -0
  266. package/pyatv/pyproject.toml +74 -0
  267. package/pyatv/requirements/requirements.txt +14 -0
  268. package/pyatv/requirements/requirements_docs.txt +2 -0
  269. package/pyatv/requirements/requirements_test.txt +20 -0
  270. package/pyatv/scripts/build_docs.sh +17 -0
  271. package/pyatv/scripts/setup_dev_env.sh +83 -0
  272. package/pyatv/setup.cfg +14 -0
  273. package/pyatv/tests/data/README +23 -0
  274. package/pyatv/tests/data/audio_10_frames.wav +0 -0
  275. package/pyatv/tests/data/audio_1_packet_metadata.wav +0 -0
  276. package/pyatv/tests/data/audio_3_packets.wav +0 -0
  277. package/pyatv/tests/data/only_metadata.wav +0 -0
  278. package/pyatv/tests/data/only_title.wav +0 -0
  279. package/pyatv/tests/data/static_3sec.ogg +0 -0
  280. package/pyatv/tests/data/testfile.txt +1 -0
  281. package/pyatv/tests/support/pyatv.code-workspace +14 -0
  282. package/src/index.ts +122 -8
  283. package/src/mdns.ts +64 -11
@@ -0,0 +1,106 @@
1
+ ---
2
+ layout: template
3
+ title: API - pyatv.convert
4
+ permalink: /api/convert/
5
+ link_group: api
6
+ ---
7
+ <nav id="sidebar">
8
+ <h1>Index</h1>
9
+ <div class="toc">
10
+ <ul></ul>
11
+ </div>
12
+ <ul id="index">
13
+ <li><h3>Super-module</h3>
14
+ <ul>
15
+ <li><code><a title="pyatv" href="..">pyatv</a></code></li>
16
+ </ul>
17
+ </li>
18
+ <li><h3><a href="#header-functions">Functions</a></h3>
19
+ <ul class="two-column">
20
+ <li><code><a title="pyatv.convert.device_state_str" href="#pyatv.convert.device_state_str">device_state_str</a></code></li>
21
+ <li><code><a title="pyatv.convert.media_type_str" href="#pyatv.convert.media_type_str">media_type_str</a></code></li>
22
+ <li><code><a title="pyatv.convert.model_str" href="#pyatv.convert.model_str">model_str</a></code></li>
23
+ <li><code><a title="pyatv.convert.protocol_str" href="#pyatv.convert.protocol_str">protocol_str</a></code></li>
24
+ <li><code><a title="pyatv.convert.repeat_str" href="#pyatv.convert.repeat_str">repeat_str</a></code></li>
25
+ <li><code><a title="pyatv.convert.shuffle_str" href="#pyatv.convert.shuffle_str">shuffle_str</a></code></li>
26
+ </ul>
27
+ </li>
28
+ </ul>
29
+ </nav>
30
+ <article id="content">
31
+ <header>
32
+ <h1 class="title">Module <code>pyatv.convert</code></h1>
33
+ </header>
34
+ <section id="section-intro">
35
+ <p>Various types of extraction and conversion functions.</p>
36
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L1-L81" class="git-link">Browse git</a></div>
37
+ </section>
38
+ <section>
39
+ </section>
40
+ <section>
41
+ </section>
42
+ <section>
43
+ <h2 class="section-title" id="header-functions">Functions</h2>
44
+ <dl>
45
+ <dt id="pyatv.convert.device_state_str">
46
+ <code class="name flex">
47
+ <span>def <span class="ident">device_state_str</span></span>(<span>state: <a title="pyatv.const.DeviceState" href="../const#pyatv.const.DeviceState">DeviceState</a>) -> str</span>
48
+ </code>
49
+ </dt>
50
+ <dd>
51
+ <section class="desc"><p>Convert internal API device state to string.</p></section>
52
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L13-L23" class="git-link">Browse git</a></div>
53
+ </dd>
54
+ <dt id="pyatv.convert.media_type_str">
55
+ <code class="name flex">
56
+ <span>def <span class="ident">media_type_str</span></span>(<span>mediatype: <a title="pyatv.const.MediaType" href="../const#pyatv.const.MediaType">MediaType</a>) -> str</span>
57
+ </code>
58
+ </dt>
59
+ <dd>
60
+ <section class="desc"><p>Convert internal API media type to string.</p></section>
61
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L26-L33" class="git-link">Browse git</a></div>
62
+ </dd>
63
+ <dt id="pyatv.convert.model_str">
64
+ <code class="name flex">
65
+ <span>def <span class="ident">model_str</span></span>(<span>device_model: <a title="pyatv.const.DeviceModel" href="../const#pyatv.const.DeviceModel">DeviceModel</a>) -> str</span>
66
+ </code>
67
+ </dt>
68
+ <dd>
69
+ <section class="desc"><p>Convert device model to string.</p></section>
70
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L65-L81" class="git-link">Browse git</a></div>
71
+ </dd>
72
+ <dt id="pyatv.convert.protocol_str">
73
+ <code class="name flex">
74
+ <span>def <span class="ident">protocol_str</span></span>(<span>protocol: <a title="pyatv.const.Protocol" href="../const#pyatv.const.Protocol">Protocol</a>) -> str</span>
75
+ </code>
76
+ </dt>
77
+ <dd>
78
+ <section class="desc"><p>Convert internal API protocol to string.</p></section>
79
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L54-L62" class="git-link">Browse git</a></div>
80
+ </dd>
81
+ <dt id="pyatv.convert.repeat_str">
82
+ <code class="name flex">
83
+ <span>def <span class="ident">repeat_str</span></span>(<span>state: <a title="pyatv.const.RepeatState" href="../const#pyatv.const.RepeatState">RepeatState</a>) -> str</span>
84
+ </code>
85
+ </dt>
86
+ <dd>
87
+ <section class="desc"><p>Convert internal API repeat state to string.</p></section>
88
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L36-L42" class="git-link">Browse git</a></div>
89
+ </dd>
90
+ <dt id="pyatv.convert.shuffle_str">
91
+ <code class="name flex">
92
+ <span>def <span class="ident">shuffle_str</span></span>(<span>state: <a title="pyatv.const.ShuffleState" href="../const#pyatv.const.ShuffleState">ShuffleState</a>) -> str</span>
93
+ </code>
94
+ </dt>
95
+ <dd>
96
+ <section class="desc"><p>Convert internal API shuffle state to string.</p></section>
97
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/convert.py#L45-L51" class="git-link">Browse git</a></div>
98
+ </dd>
99
+ </dl>
100
+ </section>
101
+ <section>
102
+ </section>
103
+ </article>
104
+ <footer id="footer">
105
+ <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite>.</p>
106
+ </footer>
@@ -0,0 +1,489 @@
1
+ ---
2
+ layout: template
3
+ title: API - pyatv.exceptions
4
+ permalink: /api/exceptions/
5
+ link_group: api
6
+ ---
7
+ <nav id="sidebar">
8
+ <h1>Index</h1>
9
+ <div class="toc">
10
+ <ul></ul>
11
+ </div>
12
+ <ul id="index">
13
+ <li><h3>Super-module</h3>
14
+ <ul>
15
+ <li><code><a title="pyatv" href="..">pyatv</a></code></li>
16
+ </ul>
17
+ </li>
18
+ <li><h3><a href="#header-classes">Classes</a></h3>
19
+ <ul>
20
+ <li>
21
+ <h4><code><a title="pyatv.exceptions.AuthenticationError" href="#pyatv.exceptions.AuthenticationError">AuthenticationError</a></code></h4>
22
+ </li>
23
+ <li>
24
+ <h4><code><a title="pyatv.exceptions.BackOffError" href="#pyatv.exceptions.BackOffError">BackOffError</a></code></h4>
25
+ </li>
26
+ <li>
27
+ <h4><code><a title="pyatv.exceptions.BlockedStateError" href="#pyatv.exceptions.BlockedStateError">BlockedStateError</a></code></h4>
28
+ </li>
29
+ <li>
30
+ <h4><code><a title="pyatv.exceptions.CommandError" href="#pyatv.exceptions.CommandError">CommandError</a></code></h4>
31
+ </li>
32
+ <li>
33
+ <h4><code><a title="pyatv.exceptions.ConnectionFailedError" href="#pyatv.exceptions.ConnectionFailedError">ConnectionFailedError</a></code></h4>
34
+ </li>
35
+ <li>
36
+ <h4><code><a title="pyatv.exceptions.ConnectionLostError" href="#pyatv.exceptions.ConnectionLostError">ConnectionLostError</a></code></h4>
37
+ </li>
38
+ <li>
39
+ <h4><code><a title="pyatv.exceptions.DeviceIdMissingError" href="#pyatv.exceptions.DeviceIdMissingError">DeviceIdMissingError</a></code></h4>
40
+ </li>
41
+ <li>
42
+ <h4><code><a title="pyatv.exceptions.HttpError" href="#pyatv.exceptions.HttpError">HttpError</a></code></h4>
43
+ <ul class="">
44
+ <li><code><a title="pyatv.exceptions.HttpError.status_code" href="#pyatv.exceptions.HttpError.status_code">status_code</a></code></li>
45
+ </ul>
46
+ </li>
47
+ <li>
48
+ <h4><code><a title="pyatv.exceptions.InvalidConfigError" href="#pyatv.exceptions.InvalidConfigError">InvalidConfigError</a></code></h4>
49
+ </li>
50
+ <li>
51
+ <h4><code><a title="pyatv.exceptions.InvalidCredentialsError" href="#pyatv.exceptions.InvalidCredentialsError">InvalidCredentialsError</a></code></h4>
52
+ </li>
53
+ <li>
54
+ <h4><code><a title="pyatv.exceptions.InvalidDmapDataError" href="#pyatv.exceptions.InvalidDmapDataError">InvalidDmapDataError</a></code></h4>
55
+ </li>
56
+ <li>
57
+ <h4><code><a title="pyatv.exceptions.InvalidResponseError" href="#pyatv.exceptions.InvalidResponseError">InvalidResponseError</a></code></h4>
58
+ </li>
59
+ <li>
60
+ <h4><code><a title="pyatv.exceptions.InvalidStateError" href="#pyatv.exceptions.InvalidStateError">InvalidStateError</a></code></h4>
61
+ </li>
62
+ <li>
63
+ <h4><code><a title="pyatv.exceptions.NoAsyncListenerError" href="#pyatv.exceptions.NoAsyncListenerError">NoAsyncListenerError</a></code></h4>
64
+ </li>
65
+ <li>
66
+ <h4><code><a title="pyatv.exceptions.NoCredentialsError" href="#pyatv.exceptions.NoCredentialsError">NoCredentialsError</a></code></h4>
67
+ </li>
68
+ <li>
69
+ <h4><code><a title="pyatv.exceptions.NoServiceError" href="#pyatv.exceptions.NoServiceError">NoServiceError</a></code></h4>
70
+ </li>
71
+ <li>
72
+ <h4><code><a title="pyatv.exceptions.NonLocalSubnetError" href="#pyatv.exceptions.NonLocalSubnetError">NonLocalSubnetError</a></code></h4>
73
+ </li>
74
+ <li>
75
+ <h4><code><a title="pyatv.exceptions.NotSupportedError" href="#pyatv.exceptions.NotSupportedError">NotSupportedError</a></code></h4>
76
+ </li>
77
+ <li>
78
+ <h4><code><a title="pyatv.exceptions.OperationTimeoutError" href="#pyatv.exceptions.OperationTimeoutError">OperationTimeoutError</a></code></h4>
79
+ </li>
80
+ <li>
81
+ <h4><code><a title="pyatv.exceptions.PairingError" href="#pyatv.exceptions.PairingError">PairingError</a></code></h4>
82
+ </li>
83
+ <li>
84
+ <h4><code><a title="pyatv.exceptions.PlaybackError" href="#pyatv.exceptions.PlaybackError">PlaybackError</a></code></h4>
85
+ </li>
86
+ <li>
87
+ <h4><code><a title="pyatv.exceptions.ProtocolError" href="#pyatv.exceptions.ProtocolError">ProtocolError</a></code></h4>
88
+ </li>
89
+ <li>
90
+ <h4><code><a title="pyatv.exceptions.SettingsError" href="#pyatv.exceptions.SettingsError">SettingsError</a></code></h4>
91
+ </li>
92
+ <li>
93
+ <h4><code><a title="pyatv.exceptions.UnknownMediaKindError" href="#pyatv.exceptions.UnknownMediaKindError">UnknownMediaKindError</a></code></h4>
94
+ </li>
95
+ <li>
96
+ <h4><code><a title="pyatv.exceptions.UnknownPlayStateError" href="#pyatv.exceptions.UnknownPlayStateError">UnknownPlayStateError</a></code></h4>
97
+ </li>
98
+ <li>
99
+ <h4><code><a title="pyatv.exceptions.UnsupportedProtocolError" href="#pyatv.exceptions.UnsupportedProtocolError">UnsupportedProtocolError</a></code></h4>
100
+ </li>
101
+ </ul>
102
+ </li>
103
+ </ul>
104
+ </nav>
105
+ <article id="content">
106
+ <header>
107
+ <h1 class="title">Module <code>pyatv.exceptions</code></h1>
108
+ </header>
109
+ <section id="section-intro">
110
+ <p>Local exceptions used by library.</p>
111
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L1-L131" class="git-link">Browse git</a></div>
112
+ </section>
113
+ <section>
114
+ </section>
115
+ <section>
116
+ </section>
117
+ <section>
118
+ </section>
119
+ <section>
120
+ <h2 class="section-title" id="header-classes">Classes</h2>
121
+ <dl>
122
+ <dt id="pyatv.exceptions.AuthenticationError"><code class="flex name class">
123
+ <span>class <span class="ident">AuthenticationError</span></span>
124
+ <span>(</span><span>*args, **kwargs)</span>
125
+ </code></dt>
126
+ <dd>
127
+ <section class="desc"><p>Thrown when authentication fails.</p></section>
128
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L27-L28" class="git-link">Browse git</a></div>
129
+ <h3>Ancestors</h3>
130
+ <ul class="hlist">
131
+ <li>builtins.Exception</li>
132
+ <li>builtins.BaseException</li>
133
+ </ul>
134
+ </dd>
135
+ <dt id="pyatv.exceptions.BackOffError"><code class="flex name class">
136
+ <span>class <span class="ident">BackOffError</span></span>
137
+ <span>(</span><span>*args, **kwargs)</span>
138
+ </code></dt>
139
+ <dd>
140
+ <section class="desc"><p>Thrown when device mandates a backoff period.</p></section>
141
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L63-L64" class="git-link">Browse git</a></div>
142
+ <h3>Ancestors</h3>
143
+ <ul class="hlist">
144
+ <li>builtins.Exception</li>
145
+ <li>builtins.BaseException</li>
146
+ </ul>
147
+ </dd>
148
+ <dt id="pyatv.exceptions.BlockedStateError"><code class="flex name class">
149
+ <span>class <span class="ident">BlockedStateError</span></span>
150
+ <span>(</span><span>*args, **kwargs)</span>
151
+ </code></dt>
152
+ <dd>
153
+ <section class="desc"><p>Thrown when calling a blocked method.</p>
154
+ <p>Typically, public interface methods (e.g. any method available via the object
155
+ returned by <code><a title="pyatv.connect" href="#pyatv.connect">connect()</a></code>) becomes blocked after either calling close or because
156
+ the connection was closed for some other reason.</p></section>
157
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L113-L119" class="git-link">Browse git</a></div>
158
+ <h3>Ancestors</h3>
159
+ <ul class="hlist">
160
+ <li>builtins.Exception</li>
161
+ <li>builtins.BaseException</li>
162
+ </ul>
163
+ </dd>
164
+ <dt id="pyatv.exceptions.CommandError"><code class="flex name class">
165
+ <span>class <span class="ident">CommandError</span></span>
166
+ <span>(</span><span>*args, **kwargs)</span>
167
+ </code></dt>
168
+ <dd>
169
+ <section class="desc"><p>Thrown when a command (e.g. play or pause) failed.</p></section>
170
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L71-L72" class="git-link">Browse git</a></div>
171
+ <h3>Ancestors</h3>
172
+ <ul class="hlist">
173
+ <li>builtins.Exception</li>
174
+ <li>builtins.BaseException</li>
175
+ </ul>
176
+ </dd>
177
+ <dt id="pyatv.exceptions.ConnectionFailedError"><code class="flex name class">
178
+ <span>class <span class="ident">ConnectionFailedError</span></span>
179
+ <span>(</span><span>*args, **kwargs)</span>
180
+ </code></dt>
181
+ <dd>
182
+ <section class="desc"><p>Thrown when connection fails, e.g. refused or timed out.</p></section>
183
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L15-L16" class="git-link">Browse git</a></div>
184
+ <h3>Ancestors</h3>
185
+ <ul class="hlist">
186
+ <li>builtins.Exception</li>
187
+ <li>builtins.BaseException</li>
188
+ </ul>
189
+ </dd>
190
+ <dt id="pyatv.exceptions.ConnectionLostError"><code class="flex name class">
191
+ <span>class <span class="ident">ConnectionLostError</span></span>
192
+ <span>(</span><span>*args, **kwargs)</span>
193
+ </code></dt>
194
+ <dd>
195
+ <section class="desc"><p>Thrown when a connection is lost.</p></section>
196
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L19-L20" class="git-link">Browse git</a></div>
197
+ <h3>Ancestors</h3>
198
+ <ul class="hlist">
199
+ <li>builtins.Exception</li>
200
+ <li>builtins.BaseException</li>
201
+ </ul>
202
+ </dd>
203
+ <dt id="pyatv.exceptions.DeviceIdMissingError"><code class="flex name class">
204
+ <span>class <span class="ident">DeviceIdMissingError</span></span>
205
+ <span>(</span><span>*args, **kwargs)</span>
206
+ </code></dt>
207
+ <dd>
208
+ <section class="desc"><p>Thrown when device id is missing.</p></section>
209
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L59-L60" class="git-link">Browse git</a></div>
210
+ <h3>Ancestors</h3>
211
+ <ul class="hlist">
212
+ <li>builtins.Exception</li>
213
+ <li>builtins.BaseException</li>
214
+ </ul>
215
+ </dd>
216
+ <dt id="pyatv.exceptions.HttpError"><code class="flex name class">
217
+ <span>class <span class="ident">HttpError</span></span>
218
+ <span>(</span><span>message: str, status_code: int)</span>
219
+ </code></dt>
220
+ <dd>
221
+ <section class="desc"><p>Thrown when a HTTP error occurs.</p>
222
+ <p>Initialize a new HttpError.</p></section>
223
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L95-L106" class="git-link">Browse git</a></div>
224
+ <h3>Ancestors</h3>
225
+ <ul class="hlist">
226
+ <li><a title="pyatv.exceptions.ProtocolError" href="#pyatv.exceptions.ProtocolError">ProtocolError</a></li>
227
+ <li>builtins.Exception</li>
228
+ <li>builtins.BaseException</li>
229
+ </ul>
230
+ <h3>Instance variables</h3>
231
+ <dl>
232
+ <dt id="pyatv.exceptions.HttpError.status_code"><code class="name">var <span class="ident">status_code</span> -> int</code></dt>
233
+ <dd>
234
+ <section class="desc"><p>Return status code that triggered the error.</p></section>
235
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L103-L106" class="git-link">Browse git</a></div>
236
+ </dd>
237
+ </dl>
238
+ </dd>
239
+ <dt id="pyatv.exceptions.InvalidConfigError"><code class="flex name class">
240
+ <span>class <span class="ident">InvalidConfigError</span></span>
241
+ <span>(</span><span>*args, **kwargs)</span>
242
+ </code></dt>
243
+ <dd>
244
+ <section class="desc"><p>Thrown when something is wrong or missing in the config.</p></section>
245
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L109-L110" class="git-link">Browse git</a></div>
246
+ <h3>Ancestors</h3>
247
+ <ul class="hlist">
248
+ <li>builtins.Exception</li>
249
+ <li>builtins.BaseException</li>
250
+ </ul>
251
+ </dd>
252
+ <dt id="pyatv.exceptions.InvalidCredentialsError"><code class="flex name class">
253
+ <span>class <span class="ident">InvalidCredentialsError</span></span>
254
+ <span>(</span><span>*args, **kwargs)</span>
255
+ </code></dt>
256
+ <dd>
257
+ <section class="desc"><p>Thrown if credentials are invalid.</p></section>
258
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L55-L56" class="git-link">Browse git</a></div>
259
+ <h3>Ancestors</h3>
260
+ <ul class="hlist">
261
+ <li>builtins.Exception</li>
262
+ <li>builtins.BaseException</li>
263
+ </ul>
264
+ </dd>
265
+ <dt id="pyatv.exceptions.InvalidDmapDataError"><code class="flex name class">
266
+ <span>class <span class="ident">InvalidDmapDataError</span></span>
267
+ <span>(</span><span>*args, **kwargs)</span>
268
+ </code></dt>
269
+ <dd>
270
+ <section class="desc"><p>Thrown when invalid DMAP data is parsed.</p></section>
271
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L35-L36" class="git-link">Browse git</a></div>
272
+ <h3>Ancestors</h3>
273
+ <ul class="hlist">
274
+ <li>builtins.Exception</li>
275
+ <li>builtins.BaseException</li>
276
+ </ul>
277
+ </dd>
278
+ <dt id="pyatv.exceptions.InvalidResponseError"><code class="flex name class">
279
+ <span>class <span class="ident">InvalidResponseError</span></span>
280
+ <span>(</span><span>*args, **kwargs)</span>
281
+ </code></dt>
282
+ <dd>
283
+ <section class="desc"><p>Thrown when a remote sends an invalid response.</p></section>
284
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L122-L123" class="git-link">Browse git</a></div>
285
+ <h3>Ancestors</h3>
286
+ <ul class="hlist">
287
+ <li>builtins.Exception</li>
288
+ <li>builtins.BaseException</li>
289
+ </ul>
290
+ </dd>
291
+ <dt id="pyatv.exceptions.InvalidStateError"><code class="flex name class">
292
+ <span>class <span class="ident">InvalidStateError</span></span>
293
+ <span>(</span><span>*args, **kwargs)</span>
294
+ </code></dt>
295
+ <dd>
296
+ <section class="desc"><p>Thrown when trying to perform an action not possible in the current state.</p></section>
297
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L82-L83" class="git-link">Browse git</a></div>
298
+ <h3>Ancestors</h3>
299
+ <ul class="hlist">
300
+ <li>builtins.Exception</li>
301
+ <li>builtins.BaseException</li>
302
+ </ul>
303
+ </dd>
304
+ <dt id="pyatv.exceptions.NoAsyncListenerError"><code class="flex name class">
305
+ <span>class <span class="ident">NoAsyncListenerError</span></span>
306
+ <span>(</span><span>*args, **kwargs)</span>
307
+ </code></dt>
308
+ <dd>
309
+ <section class="desc"><p>Thrown when starting AsyncUpdater with no listener.</p></section>
310
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L47-L48" class="git-link">Browse git</a></div>
311
+ <h3>Ancestors</h3>
312
+ <ul class="hlist">
313
+ <li>builtins.Exception</li>
314
+ <li>builtins.BaseException</li>
315
+ </ul>
316
+ </dd>
317
+ <dt id="pyatv.exceptions.NoCredentialsError"><code class="flex name class">
318
+ <span>class <span class="ident">NoCredentialsError</span></span>
319
+ <span>(</span><span>*args, **kwargs)</span>
320
+ </code></dt>
321
+ <dd>
322
+ <section class="desc"><p>Thrown if credentials are missing.</p></section>
323
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L51-L52" class="git-link">Browse git</a></div>
324
+ <h3>Ancestors</h3>
325
+ <ul class="hlist">
326
+ <li>builtins.Exception</li>
327
+ <li>builtins.BaseException</li>
328
+ </ul>
329
+ </dd>
330
+ <dt id="pyatv.exceptions.NoServiceError"><code class="flex name class">
331
+ <span>class <span class="ident">NoServiceError</span></span>
332
+ <span>(</span><span>*args, **kwargs)</span>
333
+ </code></dt>
334
+ <dd>
335
+ <section class="desc"><p>Thrown when connecting to a device with no usable service.</p></section>
336
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L4-L5" class="git-link">Browse git</a></div>
337
+ <h3>Ancestors</h3>
338
+ <ul class="hlist">
339
+ <li>builtins.Exception</li>
340
+ <li>builtins.BaseException</li>
341
+ </ul>
342
+ </dd>
343
+ <dt id="pyatv.exceptions.NonLocalSubnetError"><code class="flex name class">
344
+ <span>class <span class="ident">NonLocalSubnetError</span></span>
345
+ <span>(</span><span>*args, **kwargs)</span>
346
+ </code></dt>
347
+ <dd>
348
+ <section class="desc"><p>Thrown when address it not in any local subnet.</p>
349
+ <p>DEPRECATED: Not used since 0.7.1. Will be removed in 0.9.0!</p></section>
350
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L75-L79" class="git-link">Browse git</a></div>
351
+ <h3>Ancestors</h3>
352
+ <ul class="hlist">
353
+ <li>builtins.Exception</li>
354
+ <li>builtins.BaseException</li>
355
+ </ul>
356
+ </dd>
357
+ <dt id="pyatv.exceptions.NotSupportedError"><code class="flex name class">
358
+ <span>class <span class="ident">NotSupportedError</span></span>
359
+ <span>(</span><span>*args, **kwargs)</span>
360
+ </code></dt>
361
+ <dd>
362
+ <section class="desc"><p>Thrown when trying to perform an action that is not supported.</p></section>
363
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L31-L32" class="git-link">Browse git</a></div>
364
+ <h3>Ancestors</h3>
365
+ <ul class="hlist">
366
+ <li>builtins.NotImplementedError</li>
367
+ <li>builtins.RuntimeError</li>
368
+ <li>builtins.Exception</li>
369
+ <li>builtins.BaseException</li>
370
+ </ul>
371
+ </dd>
372
+ <dt id="pyatv.exceptions.OperationTimeoutError"><code class="flex name class">
373
+ <span>class <span class="ident">OperationTimeoutError</span></span>
374
+ <span>(</span><span>*args, **kwargs)</span>
375
+ </code></dt>
376
+ <dd>
377
+ <section class="desc"><p>Raised when a timeout happens.</p></section>
378
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L126-L127" class="git-link">Browse git</a></div>
379
+ <h3>Ancestors</h3>
380
+ <ul class="hlist">
381
+ <li>builtins.Exception</li>
382
+ <li>builtins.BaseException</li>
383
+ </ul>
384
+ </dd>
385
+ <dt id="pyatv.exceptions.PairingError"><code class="flex name class">
386
+ <span>class <span class="ident">PairingError</span></span>
387
+ <span>(</span><span>*args, **kwargs)</span>
388
+ </code></dt>
389
+ <dd>
390
+ <section class="desc"><p>Thrown when pairing fails.</p></section>
391
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L23-L24" class="git-link">Browse git</a></div>
392
+ <h3>Ancestors</h3>
393
+ <ul class="hlist">
394
+ <li>builtins.Exception</li>
395
+ <li>builtins.BaseException</li>
396
+ </ul>
397
+ </dd>
398
+ <dt id="pyatv.exceptions.PlaybackError"><code class="flex name class">
399
+ <span>class <span class="ident">PlaybackError</span></span>
400
+ <span>(</span><span>*args, **kwargs)</span>
401
+ </code></dt>
402
+ <dd>
403
+ <section class="desc"><p>Thrown when media playback failed.</p></section>
404
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L67-L68" class="git-link">Browse git</a></div>
405
+ <h3>Ancestors</h3>
406
+ <ul class="hlist">
407
+ <li>builtins.Exception</li>
408
+ <li>builtins.BaseException</li>
409
+ </ul>
410
+ </dd>
411
+ <dt id="pyatv.exceptions.ProtocolError"><code class="flex name class">
412
+ <span>class <span class="ident">ProtocolError</span></span>
413
+ <span>(</span><span>*args, **kwargs)</span>
414
+ </code></dt>
415
+ <dd>
416
+ <section class="desc"><p>Thrown when a generic protocol error occurs.</p>
417
+ <p>Generic protocol errors includes for instance missing fields, incorrect or
418
+ unexpected types, etc. Any error that can happen when communicating with a device
419
+ that is not covered by another exception is covered by this exception.</p></section>
420
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L86-L92" class="git-link">Browse git</a></div>
421
+ <h3>Ancestors</h3>
422
+ <ul class="hlist">
423
+ <li>builtins.Exception</li>
424
+ <li>builtins.BaseException</li>
425
+ </ul>
426
+ <h3>Subclasses</h3>
427
+ <ul class="hlist">
428
+ <li><a title="pyatv.exceptions.HttpError" href="#pyatv.exceptions.HttpError">HttpError</a></li>
429
+ </ul>
430
+ </dd>
431
+ <dt id="pyatv.exceptions.SettingsError"><code class="flex name class">
432
+ <span>class <span class="ident">SettingsError</span></span>
433
+ <span>(</span><span>*args, **kwargs)</span>
434
+ </code></dt>
435
+ <dd>
436
+ <section class="desc"><p>Raised when an error related to settings happens.</p></section>
437
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L130-L131" class="git-link">Browse git</a></div>
438
+ <h3>Ancestors</h3>
439
+ <ul class="hlist">
440
+ <li>builtins.Exception</li>
441
+ <li>builtins.BaseException</li>
442
+ </ul>
443
+ </dd>
444
+ <dt id="pyatv.exceptions.UnknownMediaKindError"><code class="flex name class">
445
+ <span>class <span class="ident">UnknownMediaKindError</span></span>
446
+ <span>(</span><span>*args, **kwargs)</span>
447
+ </code></dt>
448
+ <dd>
449
+ <section class="desc"><p>Thrown when an unknown media kind is found.</p></section>
450
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L39-L40" class="git-link">Browse git</a></div>
451
+ <h3>Ancestors</h3>
452
+ <ul class="hlist">
453
+ <li>builtins.Exception</li>
454
+ <li>builtins.BaseException</li>
455
+ </ul>
456
+ </dd>
457
+ <dt id="pyatv.exceptions.UnknownPlayStateError"><code class="flex name class">
458
+ <span>class <span class="ident">UnknownPlayStateError</span></span>
459
+ <span>(</span><span>*args, **kwargs)</span>
460
+ </code></dt>
461
+ <dd>
462
+ <section class="desc"><p>Thrown when an unknown play state is found.</p></section>
463
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L43-L44" class="git-link">Browse git</a></div>
464
+ <h3>Ancestors</h3>
465
+ <ul class="hlist">
466
+ <li>builtins.Exception</li>
467
+ <li>builtins.BaseException</li>
468
+ </ul>
469
+ </dd>
470
+ <dt id="pyatv.exceptions.UnsupportedProtocolError"><code class="flex name class">
471
+ <span>class <span class="ident">UnsupportedProtocolError</span></span>
472
+ <span>(</span><span>*args, **kwargs)</span>
473
+ </code></dt>
474
+ <dd>
475
+ <section class="desc"><p>Thrown when an unsupported protocol was requested.</p>
476
+ <p>DEPRECATED: Not used since 0.8.0. Will be removed in 0.10.0!</p></section>
477
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/exceptions.py#L8-L12" class="git-link">Browse git</a></div>
478
+ <h3>Ancestors</h3>
479
+ <ul class="hlist">
480
+ <li>builtins.Exception</li>
481
+ <li>builtins.BaseException</li>
482
+ </ul>
483
+ </dd>
484
+ </dl>
485
+ </section>
486
+ </article>
487
+ <footer id="footer">
488
+ <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite>.</p>
489
+ </footer>