File python-soco.changes of Package python-soco

-------------------------------------------------------------------
Thu Aug  5 09:48:07 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- Do not build the python2 flavor which is not supported anymore.

-------------------------------------------------------------------
Thu Aug  5 09:00:34 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- Update to version 0.23.2:
  * Raise exception if Service command not supported. This raises
    a well-formed exception if a service call is made to a device
    that doesn't support it, e.g., interrogating the volume of a
    Boost device.

- Update to version 0.23.1:
  * Hardcode Spotify & Tidal service numbers for ShareLink plugin

- Update to version 0.23.0:
  * Add a contactable() function to filter out devices that are not
    reachable.
  * Add end_direct_control_session() method to stop remote control
    sessions (e.g., Spotify Connect).
  * Add get_current_media_info() method, useful for determining
    details of radio streams.
  * Add plugin for playback of Spotify and Tidal ShareLinks
    (experimental).
  * Restore compatibility for Sonos S1 systems running firmware
    versions earlier than 10.1.
  * Logging severity has been adjusted in some areas to reduce the
    volume of logging output.

- Update to version 0.22.6:
  * This is a patch release that contains a fix for event
    unsubscription logic, to ensure that event unsubscriptions are
    actually processed and sent to the Sonos players

- Update to version 0.22.5:
  * This release reverts the breaking change introduced (briefly)
    in v0.22.4. Its functionality is the same as that of v0.22.3

- Update to version 0.22.4:
  * This release introduced a breaking change, and has been
    deprecated. This is a patch release containing a fix for a
    serious bug in the event subscription logic, in which
    unsubscriptions were never being processed

- Update to version 0.22.3:
  * Cleanup async_events renewal logging and exceptions
  * Ignore unofficial DIDL subclasses denoted by '.#'
  * Extract radio stream metadata when TYPE=SNG
  * Raise exceptions on aiohttp status in async event handler

- Update to version 0.22.2:
  * Fix race condition in creating the client session with
    events_asyncio
  * Fix manual subscription renewals and unsubscibe failure
    handling with events_asyncio

- Update to version 0.22.1:
  * This is a patch release that removes a hard dependency on the
    aiohttp package, introduced in v0.22.0 to support the new
    events-asyncio functionality. The inclusion of this package was
    causing potential installation errors on some platforms.
    If you want to use events_asyncio, either install the aiohttp
    package manually, or use pip install -U "soco[events_asyncio]"
    when installing/updating SoCo.

- Update to version 0.22.0:
  * Add an available_actions property to determine what actions are
    currently permitted on a player.
  * Add the ability to remove alarms from the system by Alarm ID.
  * Add shuffle and repeat as directly gettable/settable properties
    of a player.
  * Add the ability to specify a track number when using seek.
  * Add events handling using asyncio, as an alternative to the
    standard and Twisted events approaches.
  * We've made a broad set of changes to remove legacy code
    related to Python 2 compatibility.

- Update to version 0.21.3:
  * Improve handling of network errors
  * Fix for Python urllib parsing
  * Suppress new Pylint 2.7 error

- Update to version 0.21.2:
  * Catch client exceptions on event thread
  * Do not refresh zone group cache on join/unjoin
  * Always restore volume when restoring a snapshot

- Update to version 0.21.1:
  * Recognize Arc SL as soundbar

- Update to version 0.21.0:
  * This version contains significant improvements to the speaker
    discovery process, which should address most of the common
    problems that are encountered.
  * Multi-household Sonos systems can now be discovered and
    controlled.
  * The AudioIn service has been added, providing access to Line In
    operations and events.
  * A number of additional miscellaneous speaker state controls
    have been provided, for speaker buttons, fixed volume output,
    and Trueplay. The battery status of Sonos Move speakers can
    also now be obtained. The music_source property on SoCo objects
    provides a convenient way to determine what type of source is
    being played by a speaker.

  * SoCo 0.21 is now fully Python 3.9 compatible, requires
    Python 3.5+, and is no longer compatible with Python 2.x.

  * New Features and Improvements
    + Add support for network scan discovery, including allowing
      multi-household systems to be discovered.
    + Add the AudioIn service for access to Line In operations and
      events.
    + Add the ability to inspect and set Fixed Volume output.
    + Add the ability to inspect and set whether speaker buttons
      are enabled.
    + Add the ability to inspect and set Trueplay enablement.
    + Add the ability to determine the battery state of Sonos Move
      speakers.
  * Bug Fixes
    + Improve zone group state caching to accommodate
      multi-household systems: PR #656. (Note: possible breaking
      change: if you've previously been setting the
      soco.core.zone_group_state_shared_cache.enabled property,
      this property is no longer global but is instead now a
      private property of SoCo instances.)
    + When restoring snapshots, do not try to restore
      bass/treble/loudness on devices with fixed volume enabled.
    + Ensure that all relevant NICs and IP addresses are included
      in multicast speaker discovery.
  * Developer Improvements
    + Numerous fixes to allow the documentation to build cleanly.
    + Full Python 3.9 compatibility, including updated check jobs.
    + Code changes to allow Pylint and Black to be updated to their
      most recent versions.

- Update to version 0.20:
  * Among the additions this time are support for adding stereo
    pairs, proper categorization of Sonos Amp as a playbar to add
    proper support for 'night sound' and 'speech enhancement' and
    finally a fix for a long running issue where vendor extended
    DIDL-Lite classes would cause events to crash without specific
    code added for each one. See the full list of additions and
    bugfixes below.
  * SoCo (Sonos Controller) is a Python package that allows you to
    programmatically control Sonos speakers.
  * New Features and Improvements
    + Add support for creating and separating stereo pairs of
      speakers. Note: works with dissimilar Sonos speakers if
      required.
    + Add support for autogenerating vendor extended DIDL-Lite
      classes. This should fix all the problems where SoCo would
      crash if some vendor specific data type is unknown.
    + Categorize Sonos Amp as a playbar in order to provide support
      for 'night sound' and 'speech enhancement'.
    + If port 1400 is in use, the next available 100 ports will be
      tried.
  * Bugfixes
    + Fix bug where data_structures_upgrade would fail on items
      that has no uri.
    + Process share browsing correctly.
  * Developer improvements
    + Format all soco main, test and example code with the black
      code formatter (https://github.com/psf/black) and make it
      mandatory going forward including a TravisCI check.
    + Improve test_remove_playlist_bad_id() to handle the case of
      no existing playlists.
- Rebase patch:
  * dont-require-test-modules.patch

-------------------------------------------------------------------
Thu Jun 11 08:34:58 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>

- Update to version 0.19:
  * New Features and Improvements
    - Added class DidlRecentShow to the data_structures module to
      implement the added object.item.audioItem.musicTrack.recentShow
      DIDL-Lite object type. Used for podcasts etc. Pull request #677.
    - Add support for Python 3.8, pull reques #679
    - Add methods list_library_shares() and delete_library_share()
      to MusicLibrary. Partially addresses issue #678.
    - Add a balance property to the SoCo class, allowing get/set of
      speaker balance, pull request #693. Addresses issue #692.
    - Add the set_relative_volume() method to the SoCo class, pull
      request #687
    - Add unit test for
      soco.music_library.MusicLibrary.delete_library_share() method,
      pull request #694
    - Add deprecation warning concerning the removal of Python 2.7
      support, pull request #697
    - Add group volume operations, pull request #688
  * Bugfixes
    - Fixed broken link in loudness docstring, issue #671
    - In events, fixed bug affecting some users in code to determine
      system’s own IP address. Some systems requires a valid port to
      be used (not port 0), so we use config.EVENT_LISTENER_PORT.
      Pull request #680.
    - Copy metadata from DidlItem to MusicServiceItem in get_queue()
      and events. Pull request #589. Closes issues #535, #547 and #552.
    - Fixed a bug (avoid trying to iterate a None) in the discovery
      module, commit c8e4a24

-------------------------------------------------------------------
Fri Jan 31 11:29:02 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>

- Update to version 0.18.1:
  * Fix a single bug concerning events.

- Update to version 0.18:
  * New Features and Improvements
    + Allow the user to choose how the event listener is implemented
      and a lot of other event code improvements as outlined below.
      - A major feature addition is to allow the user to choose how the
        event listener is implemented. The default is for the event
        listener to use the requests library and run in a thread. This
        update allows the user to run the event listener using the
        twisted.internet library, by setting the config.EVENTS_MODULE
        module to point to the soco.events_twisted module. See the example
        in events_twisted.
      - Stops the event listener when the last active subscription is
        unsubscribed.
      - Raise soco.exceptions.SoCoException on an attempt to subscribe a
        subscription more than once (use soco.events.Subscription.renew
        instead).
      - Allow an optional strict parameter for
        soco.events.Subscription.subscribe, soco.events.Subscription.renew
        and soco.events.Subscription.unsubscribe. If set to False, Exceptions
        will be logged rather than raised. Default: True
      - Upon autorenewal, call soco.events.Subscription.renew with the strict
        flag set to False, so that any Exception is logged, not raised. This
        is because there is no calling code to catch an Exception.
      - Provide for calling code to set
        soco.events.Subscription.auto_renew_fail to refer to a callback
        function. If an Exception occurs upon autorenewal, this callback will
        be called with the Exception as the sole parameter.
      - If an Exception occurs upon soco.events.Subscription.subscribe or
        soco.events.Subscription.renew, cancel the subscription, unless the
        Exception was a SoCoException on soco.events.Subscription.subscribe.
        For example, if an Exception occurs because the network went down,
        the subscription will be canceled.
      - Use a threading lock with soco.events.Subscription.subscribe,
        soco.events.Subscription.renew and soco.events.Subscription.unsubscribe,
        because autorenewal occurs from a thread.
    + Add a simple soco.data_structures.DidlPlaylistContainerTracklist class to
      the soco.data_structures module . The class is used by Sonos when Sonos
      Speakers are controlled by Spotify Connect. The absence of the class from
      the data_structures module causes errors.
    + Remove logging of UPnP failures

- Update to version 0.17:
  * New Features and Improvements
    + Add the is_soundbar property to the SoCo class to indicate
      whether or not the current instance represents a Play:Bar, a
      Play:Base, or a Beam and, when appropriate, enable features like
      Night and Dialog mode.
  * Bugfixes
    + Fix discovery which was broken as a consequence of API changes in
      Sonos software version 10.1.
    + Fix parsing of favorites which was broken as a consequence of API
      changes in Sonos software version 10.1.

- Update to version 0.16:
  * New Features and Improvements
    + Allow the user to configure the event listener IP address that is sent
      to the Sonos speakers. The default is to auto detect, but it can now be
      overridden. This allows for more complex network configurations (e.g.
      using Docker containers) to be supported.
    + The play_uri method now accepts title arguments that need XML escaping.
    + A harmless “Could not handle track info” warning has been removed.
    + Let from_didl_string throw DIDLMetadataErrors, allowing them to be caught
      in the event handling code.
    + Added support for object.item.audioItem.audioBook
  * Bugfixes
    + Fix DidlMusicAlbum inheriting fields from DidlAudioItem instead of
      DidlAlbum

- Update to version 0.15:
  * New Features and Improvements
    + Add __enter__ and __exit__ methods to Subscription, for automatic
      unsubscription in a with-block
    + Add __enter__ and __exit__ methods to Snapshot, for automatic snapshot
      and restore in a with block
    + Handle default value / allowed value range in Service.iter_actions and
      format the resulting actions
    + Allow keyword arguments in Service commands
    + Auto deploy new tagged releases to PyPI
    + Documentation updates
  * Bugfixes
    + Prevent parsing exceptions during event handling from killing the
      exception thread. Instead, return a DidlFault, which will reraise the
      exception when the user tries to use it
    + Fixed the set returned by discover() being modified later
    + Fixed regression in send_command
    + Fixed regression due to removed deprecated methods
    + Improved error handling with speakers not associated to a room
  * Backwards Compatability
    + Dropped support for Python 3.3
    + Removed the deprecated methods which were moved in 0.12 from core.py
      to music_library.py and move the assoctiated tests

- Update to version 0.14:
  * New Features and Improvements
    + Add support for Sonos favorites, which can now be browsed and played
      through the usual methods.
    + Revised the play_local_files examples including a off-by-one bug fix,
      configuration as command line argument, IP address auto detection and
      more robust Sonos player selection.
    + Handle QueueID properly in event xml.
    + Further documentation updates
  * Bugfixes
    + Small bugfix to stop an error where None would be returned by
      metadata.findtext. Instead, an empty string is returned.
    + Fix a race that could lead to events being missed shortly after a
      subscription was started.
    + Don't throw exceptions when parsing metadata with missing/empty tags,
      to fix event errors.

-------------------------------------------------------------------
Sat Feb 17 10:06:00 UTC 2018 - alarrosa@suse.com

- Update to version 0.13:
  * New Features and Improvements
    * The IP address used by the events listener can be configured
    * Add support for night mode and dialog mode on devices supporting the
      respective feature.
    * Add queue-able data structures for the music service items
    * Add a method for queueing multiple items with a single request
    * Add methods to get and set the uri(s) of a DidlObject.
    * Add support for line in from other speakers
    * Enhance add_to_queue() to with optional position argument
    * Added by_name function to discovery to be able to get a device by
      player_name
    * allow choice of how to play streams in play_uri (override Sonos default
      with force_radio=True)
    * Added ramp_to_volume() method to smoothly change the volume
    * Added FAQ, documentation and two examples to explain using SoCo's
      Snapshot function.
    * Update documentation for add_uri_to_queue
    * Added a FAQ section to the docs with play_uri and play local files
      answers.
    * A few queue related micro examples was added to the examples page in the
      docs.
    * Further documentation updates
  * Bugfixes
    * Fixes an issue where restarting an application that had subscribed to
      events sometimes causes an error when the events are delivered to the
      new instance.
    * Fixes an issue where multiple threads trying to subscribe to events in
      parallel would sometimes cause SoCo to attempt to create multiple event
      listener servers and fail on socket.bind().
    * Fixes an issue where SoCo would not recognize
      object.container.playlistContainer.sonos-favorite when receiving events.
    * Fixes a bug in play_uri where it would not play a http or https prefixed
      radio stream due to a change in the Sonos API . This change fixes it by
      replacing the two http type prefixes with Sonos' x-rincon-mp3radio://
      prefix.
    * Fixes an exception being raised on Windows with discover. The error was
      caused by socket.getsockname raising an exception on Windows with and
      unconnected unbound socket. Fixed by now simply logging the sockets.
    * Change to use SoCo method to determine coordinator in Snapshot
    * Prevent error when queue started from Alexa and using snapshot. Currently
      there is no was to restart a cloud queue from SoCo, this PR just prevents
      Snapshot causing an error.
    * Fix add_multiple_to_queue fails with too many items
    * Fixed log level
  * Backwards Compatability
    * Dropped support for Python 2.6 and added support for 3.6

-------------------------------------------------------------------
Sat Jun 10 12:10:13 UTC 2017 - alarrosa@suse.com

- Initial release of python-soco 0.12
- Add dont-require-test-modules.patch so modules only needed for tests
  are not required since %check is disabled

openSUSE Build Service is sponsored by