commit cb19102f590537b59375c51f6573bca1db9887d65dce769c20e1df6c9eb55091 Author: Steve Kowalik Date: Tue Mar 25 04:27:53 2025 +0000 - Lowercase metadata directory name. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PyChromecast?expand=0&rev=60 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/PyChromecast-14.0.1.tar.gz b/PyChromecast-14.0.1.tar.gz new file mode 100644 index 0000000..051d57c --- /dev/null +++ b/PyChromecast-14.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e16e0a7f9488319191b8b4fa21ca0beb4bf12eeda5c9bf640241188f2bea0a3e +size 60482 diff --git a/PyChromecast-14.0.5.tar.gz b/PyChromecast-14.0.5.tar.gz new file mode 100644 index 0000000..9566279 --- /dev/null +++ b/PyChromecast-14.0.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8671ee4ea4a7095e2e0670e2215145ec1e3e0aa0737ff74d648ae4dc268b2b1 +size 60934 diff --git a/python-PyChromecast.changes b/python-PyChromecast.changes new file mode 100644 index 0000000..f3e7612 --- /dev/null +++ b/python-PyChromecast.changes @@ -0,0 +1,394 @@ +------------------------------------------------------------------- +Tue Mar 25 04:27:06 UTC 2025 - Steve Kowalik + +- Lowercase metadata directory name. + +------------------------------------------------------------------- +Wed Nov 6 12:47:40 UTC 2024 - John Paul Adrian Glaubitz + +- Update to 14.0.5 + * Attempting to fix 738 (#886) @geoffoxholm + +------------------------------------------------------------------- +Sun Oct 13 02:26:02 UTC 2024 - Tejas Guruswamy + +- Update to 14.0.4 + * Make it possible to log heartbeat ping pong (#969) @emontnemery + * Move HeartbeatController to a separate module (#968) @emontnemery + * Simplify socket timeout (#967) @emontnemery + * Bump pylint from 3.2.7 to 3.3.1 (#957) @dependabot +- Update to 14.0.3: + * Revert "Revert "Revert "Remove socket timeouts"" (#883)" (#965) @bdraco +- Update to 14.0.2: + * Add OHF logo to README (#961) @mrdarrengriffin + * Fix errors found by pylint 3.2.7 (#946) @emontnemery + * Reduce verbosity of reconnection (#933) @elupus + * Add BRAVIA 4K VH21 to known devices (#904) @jayofdoom + * Initialize _session member on YouTube controller (#925) @alexdelorenzo + * Migrate to using efficient I/O multiplexing selectors (#865) @bdraco + * Revert "Revert "Remove socket timeouts"" (#883) @emontnemery + +------------------------------------------------------------------- +Tue May 7 20:17:37 UTC 2024 - Dirk Müller + +- update to 14.0.1: + * Add debug prints to HomeAssistantController + * Add JBL Link Portable to known devices + * Fix race in HomeAssistantController + * Revert "Remove socket timeouts" + * Remove socket timeouts + * Run rstcheck in CI + * Remove mypy exclude pattern + * Update default URL used in media example +- update to 14.0.0: + * Most user facing functions accepting an optional callback + function have been changed such that the optional arguments + are now kwarg only + * The signature of callbacks called when requests are completed + has been changed + * Some named tuples have been replaced with dataclasses + * The ServiceInfo class has been split in two classes + * Parameter names of `MediaStatusListener.load_media_failed` + has been changed + * Many user facing functions now have a default timeout, and + will raise when that timeout expires + * It's no longer supported to use pychromecast with event + custom loops + +------------------------------------------------------------------- +Fri Jan 26 21:24:00 UTC 2024 - Dirk Müller + +- update to 13.1.0: + * Increase homeassistant lovelace connect timeout and make it + configurable (#770) @cicchr + * Add support for NRK TV and NRK Radio apps (#777) @lersveen + * Change logged precision of volume from 1 to 2 (#768) + @alexdelorenzo + * Create ShakaPlayer Controller (#758) @juanfadev + * Add date for removal of deprecated discovery functions (#767) + @emontnemery + * Mark discover_chromecasts as deprecated (#766) @emontnemery + * Update README.rst (#765) @emontnemery + * Fix known_hosts for older chromecasts (#762) @domenipavec + * Fix SSLContext settings (#764) @emontnemery + * Update README.rst to reflect refactoring of cast.device to + cast.cast_info (#751) @davidjabon + * Fix deprecated call to ssl.SSLContext without specifying + protocol (#763) @emontnemery + +------------------------------------------------------------------- +Mon Dec 11 08:26:17 UTC 2023 - Dirk Müller + +- update to 13.0.8: + * Change BBC Sounds app_id (#753) @blawford + * Dependency updates + +------------------------------------------------------------------- +Thu Jun 1 10:07:16 UTC 2023 - Dirk Müller + +- update to 13.0.7: + * Wait longer when attempting to play media (#720) @emontnemery + * Fix socket leak + * Don't call launch callback on error + * Wait for response when stopping app + * Simplify request callback handling + * Make sure handler is unregistered after quickplay + * Fix lint issues + * Add SVS Pro SoundBase + * Add JBL Link 10, 20, 300, 500 + * Fix poll/select for Windows + * Add Smart Soundbar 10 + +------------------------------------------------------------------- +Mon Jan 2 20:18:36 UTC 2023 - Dirk Müller + +- update to 13.0.4: + * Correct timeout in call to poll.poll + * Adding support for reported unknown devices + * Add Chromecast Ultra and Chromecast HD to the recognised devices + * Fix error with select when python process exceeds 1024 open file descriptors + * Include URL and UUID in Home Assistant controller messages + +------------------------------------------------------------------- +Mon Dec 5 19:29:31 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 13.0.1 + * Make sure __version__ is consistent + * Make pylint happier + * Drop __version__ + +- Update to version 13.0.0 + * Adapt to pylint 2.15.5 (#670) @emontnemery + * Added three unknown models with cast-types (#658) @heikkih + * Revert "pin to protobuf v3" (#669) @emontnemery + * Pin github actions and add dependabot actions ecosystem (#655) @MartinHjelmare + * Improve output of discovery examples (#653) @emontnemery + * Update version_info in init (#640) @clach04 + +------------------------------------------------------------------- +Wed Aug 17 15:41:12 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 12.1.4 + * Improve timeout logs (#637) @emontnemery + * pin to protobuf v3 (#625) @chapmanjacobd +- Update to 12.1.3 + * Add additional cast model (#628) @emontnemery + * Add additional cast model (#624) @emontnemery + +------------------------------------------------------------------- +Sat May 21 20:53:58 UTC 2022 - Tejas Guruswamy + +- Update to 12.1.2: + * Breaking Changes: the media controller has been refactored in #607, which means: + * Controllers not included in the pychromecast repo may need some adjustments + * The `BbcIplayerController` and `BbcSoundsController` no longer have overridden `play_media` methods + * Refactor handling of discovered casts and device info (#556) + +------------------------------------------------------------------- +Mon Mar 8 04:51:11 UTC 2021 - Steve Kowalik + +- Update to 9.1.1: + * Add HostBrowser.update_hosts (#476) + * Handle audio groups removed from known host (#475) + * Remove useless pylint and flake8 directives (#472) + * BREAKING CHANGE: Update discovery to support a list of known hosts (#469) + * Catch errors thrown by select call (#471) + * Fix some strings mangled by black formatting (#470) + * Fix MultiZoneControllerListener (#468) + * Expose volume_control_type (#461) + * Move ReceiverController to its own module (#460) + * Infer contentType from playQueue items (#457) @maykar + * Remove unintended 'async' from listener interfaces (#453) + * Update BubbleUPNP example (#451) + * Refactor listeners and controllers as ABCs (#450) + * Add more google devices to consts (#448) @theychx + * Make current_time optional when loading or queing media (#446) + +------------------------------------------------------------------- +Wed Jan 27 03:47:43 UTC 2021 - Steve Kowalik + +- Update to 7.7.2: + * Use urllib.request instead of requests. +- Drop python-requests from Requires. +- Correct egg-info filename to build in the multi-python new world order. + +------------------------------------------------------------------- +Mon Jan 4 04:44:17 UTC 2021 - Steve Kowalik + +- Update to 7.7.1: + * Don't throw if socket is already closed when cleaning up (#438) + * Update local http API, re-add get_multizone_status (#437) + * Spotify quick play (again) (#430) + * Fix next/previous track (#436) + * Add support for BubbleUPNP (#428) + +------------------------------------------------------------------- +Wed Sep 30 02:51:51 UTC 2020 - Steve Kowalik + +- Update to 7.5.0: + * Allow passing additional media information through to play_media + * Add support for lists, playQueues, and playlists to Plex controller + * Misc spelling changes + +------------------------------------------------------------------- +Tue Sep 22 04:34:34 UTC 2020 - Steve Kowalik + +- Update to 7.3.0: + * Add support for QUEUE_INSERT (#404) + * Fix get_chromecasts non blocking mode (#411) + * Ensure data parsed as JSON is a dict (#405) + * Add zeroconf debug option to example scripts (#401) + * Allow passing an already existing zeroconf object to additional + functions (#400) @emontnemery + * Ignore browser updates for *._sub._googlecast._tcp.local. (#400) + * Fix return type of get_listed_chromecasts (#400) + * Remove host and port from Chromecast object (#395) + * Keep previously known Chromecast in service listener (#399) + * Remove reboot function (#394) + +------------------------------------------------------------------- +Mon Jul 13 05:57:29 UTC 2020 - Steve Kowalik + +- Update to 7.1.1: + * Add debug prints (#390) + * Report host+port for discovered casts (#385) + * Fix plex controller (#389) + * Update list_chromecasts example (#382) + * BREAKING CHANGE Track services based on UUID instead of mDNS service + name (#380) + * Reset receiver controller on connection lost (#379) + +------------------------------------------------------------------- +Thu Jun 11 15:58:53 UTC 2020 - Antonio Larrosa + +- Update to 6.0.0: + * BREAKING CHANGE Refactor start_discovery to fix race (#370) + * Support zeroconf 0.27 (#368) + * Don't ignore zeroconf errors (#367) + * BREAKING CHANGE Add support to CastListener for service updates (#366) + +------------------------------------------------------------------- +Wed May 27 05:35:16 UTC 2020 - Steve Kowalik + +- Update to 5.3.0: + * Handle zeroconf update_service (#364) + * Add ability to pass in a zeroconf instance to discovery (#362) + * Add discovery example (#361) + * Quick play & Support for Yle Areena, Supla (#359) + * Log as info, not warning if connection re-established. (#358) + +------------------------------------------------------------------- +Tue May 5 06:46:04 UTC 2020 - Johannes Grassler + +- Update to 5.0.0 + * remove .travis.yml + * extract test reqs + * Update test.yml + * Create test.yml + * Bump linters, run flake and black on examples (#355) + * Speed up SocketClient shutdown (#352) + * Improve debug messages (#353) + * Fix bugs in Chromecast.is_idle and ReceiverController.launch_app (#350) + * Improve examples and docstrings (#351) + * Remove blocking option from Chromecast (#349) + * Add helper function get_listed_chromecasts (#348) + * Correct mistake in PR#345 (#346) + * Lookup manufacturer, remove multizone helper. (#345) +- Update python-zeroconf Require + +------------------------------------------------------------------- +Thu Mar 26 16:24:27 UTC 2020 - Marketa Calabkova + +- Update to 4.2.0 + * Add support for Lovelace dashboards + * Set up publish when we create a release. + * Update zeroconf requirement + +------------------------------------------------------------------- +Thu Feb 13 15:38:57 UTC 2020 - Antonio Larrosa + +- Update to 4.1.1 + * Update "add support to your favorite app" in the README + * Get ipaddress the same way as code examples in zeroconf + * Correct METADATA_TYPE in media.py + +------------------------------------------------------------------- +Wed Jan 15 11:26:42 UTC 2020 - Marketa Calabkova + +- update to 4.1.0 + * Fix resettin status + * Add app icon to CastStatus + +------------------------------------------------------------------- +Tue Sep 24 09:27:11 UTC 2019 - Tomáš Chvátal + +- Update to 4.0.1: + * various small fixes + * support for home assistant cast + +------------------------------------------------------------------- +Tue Jun 18 11:28:34 UTC 2019 - Marketa Calabkova + +- Update to 3.2.2 + * Improve matching of spotify device to handle audio groups + * Fix broken attempt to update status during tear down + * Add google home mini as audio device + * Add support for queue_next / queue_prev + * Take expiration from login and pass to controller + * Add multizone controller and multizone manager + * Remove the filters feature from get_chromecasts + +------------------------------------------------------------------- +Tue Mar 5 20:03:56 UTC 2019 - Tomáš Chvátal + +- Update to 2.5.2: + * YouTube controller version update (#258) @ur1katz + * Add support for connecting to named service (#267) @emontnemery + * Exponential backoff of mdns service resolution retries (#268) @emontnemery + * Improve exponential backoff of mdns service resolution retries (#269) @emontnemery + +------------------------------------------------------------------- +Wed Jan 2 12:09:41 UTC 2019 - Tomáš Chvátal + +- Update to 2.3.0: + * Updated spotify controller description (#232) @Nobyx + * Allow users to pass the force_launch flag when launching an app (#237) @marcosdiez + * Better YouTube controller (#236) @ur1katz + * Simple event listener example (#241) @hjmsw + +------------------------------------------------------------------- +Wed Dec 26 22:39:21 UTC 2018 - Matej Cepl + +- Fix build failure: %{py_ver} doesn't work, %{py3_ver} + does. + +------------------------------------------------------------------- +Tue Dec 4 12:52:18 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Fri May 11 21:52:30 UTC 2018 - toddrme2178@gmail.com + +- Don't forget python_module workaround. + +------------------------------------------------------------------- +Thu May 3 15:38:15 UTC 2018 - alarrosa@suse.com + +- Run spec_cleaner + +------------------------------------------------------------------- +Thu May 3 08:30:37 UTC 2018 - alarrosa@suse.com + +- Update to version 2.2.0 + * Spotify controller creation + * Fixed misplaced parenthesis + +- Update to version 2.1.0 + * Fix not waiting with no tries set + * Add adjusted_current_time() function + +- Update to version 2.0.0 + * Drop Python 2 support + * Fixes for discovery, FreeBSD Socket creation + * Fix Channel Close + * Add return for "uri" value, fix SSL issues on Windows + * Don't sleep when there are no tries remaining + +- Drop 0001-Dont-sleep-when-there-are-no-tries-remaining.patch + +------------------------------------------------------------------- +Fri Jan 5 09:22:56 UTC 2018 - alarrosa@suse.com + +- Add 0001-Dont-sleep-when-there-are-no-tries-remaining.patch from + upstream + +- Update to version 1.0.3 + * Catch OSError as well as socket.error + * Fix CAST_TYPES mapping + * Revert 184 socket client changes + +- Update to version 1.0.2 + * Remove excess return value from get_device_status + +- Update to version 1.0.1 + * Properly remove api_version now + +- Update to version 1.0.0 + * Cast web pages with DashCast + * Fix get_device_status for newer cast firmwares + * Remove api_version from DeviceStatus + +------------------------------------------------------------------- +Tue Sep 5 17:13:17 UTC 2017 - alarrosa@suse.com + +- Update to version 0.8.2 + * Fix race in SocketClient.send_message + * Fix send message deadlock +- Run spec-cleaner + +------------------------------------------------------------------- +Mon Jun 12 09:59:27 UTC 2017 - alarrosa@suse.com + +- Initial release of python-PyChromecast 0.8.1 + diff --git a/python-PyChromecast.spec b/python-PyChromecast.spec new file mode 100644 index 0000000..48ce1ca --- /dev/null +++ b/python-PyChromecast.spec @@ -0,0 +1,66 @@ +# +# spec file for package python-PyChromecast +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +%global skip_python310 1 +Name: python-PyChromecast +Version: 14.0.5 +Release: 0 +Summary: Python module to talk to Google Chromecast +License: MIT +URL: https://github.com/balloob/pychromecast +Source: https://files.pythonhosted.org/packages/source/P/PyChromecast/PyChromecast-%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-casttube >= 0.2.0 +Requires: python-protobuf >= 3.19.1 +Requires: python-zeroconf >= 0.25.1 +BuildArch: noarch +%python_subpackages + +%description +Library to communicate with the Google Chromecast. It currently supports +Auto discovering connected Chromecasts on the network, start the default +media receiver and play any online media, control playback of current +playing media, implement Google Chromecast api v2, communicate with apps +via channels, easily extendable to add support for unsupported namespaces, +multi-room setups with Audio cast devices. + +%prep +%setup -q -n PyChromecast-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +# no tests even on GitHub https://github.com/balloob/pychromecast/issues/333 +# but they will most probably ignore this issue + +%files %{python_files} +%license LICENSE +%doc README.rst +%{python_sitelib}/pychromecast +%{python_sitelib}/pychromecast-%{version}.dist-info + +%changelog