pandoru 0.1.0 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e2bd7b5d026ed3c16ee35173ca22f10839f4f486acd3259c8f5ed43c9b96053
4
- data.tar.gz: 25ce0f4f8a3d6bcbf78dadf9a4eb7fa20ae3a0e77bb68e979ffd9a3acc1e2f91
3
+ metadata.gz: ad02207b38cdbe7ac38fe971c4a3c13e1f439336791f559b6c3bd6b2cc38ef36
4
+ data.tar.gz: da0f8c0372e9302bfee89f5ddcd7d1b460265f3f55b21ef1054c1bc59e8c6b2e
5
5
  SHA512:
6
- metadata.gz: 8561e8704472f4c3bbec08198a85d84bca87687fa43bad8a08239f49228e7890aaaff55b0d66bd591420b22639de25c40a1aa421124743452b1939601d900b09
7
- data.tar.gz: cd0f0849b4a1128801be0debc5613933d4757dad32327cf5b914a093e8501e3be84596bb12a58b75db29dd4b970ae6d0a29ab730d4cf28d721522bf71188ddfd
6
+ metadata.gz: ff0b263da1d80d461ccdf1e81277fb5c22f3fb55f0651b89a317f69f47970228297bb03a6acf6d13bea91567ea7f86f56577db3a52cd991b55f1ee0df8360843
7
+ data.tar.gz: a419c0670a1ce0d57ac5fece5c7b194d67292a4cd2a648b494a6df5b59fdcf7dee7ea23a267746d9c01292e2b0dcabfb75e5d524853907e2eda42b95d0192aff
data/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to this project are documented here. The format is based
4
4
  on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
5
5
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.1.1] - 2026-05-25
8
+
9
+ ### Fixed
10
+ - Transport sent plaintext HTTP to the TLS port (`http://host:443`) for any
11
+ method not in `REQUIRE_TLS` (e.g. `user.getStationList`), which Pandora drops
12
+ with an empty reply — breaking every authenticated call except login and
13
+ `getPlaylist`. The request scheme now follows the transport's configured TLS
14
+ setting, so TLS hosts use https for all methods.
15
+ - `Station#add_seed` passed its arguments to `add_music` in the wrong order
16
+ (station and music tokens swapped), producing a malformed `station.addMusic`
17
+ request. It now calls `add_music(music_token, token)`.
18
+
7
19
  ## [0.1.0] - 2026-05-25
8
20
 
9
21
  Initial public release. A Ruby port of pydora (tracking upstream `pydora 2.3.1`)
@@ -27,3 +39,6 @@ targeting Pandora's partner/device JSON API (`tuner.pandora.com/services/json/`)
27
39
  INVALID_PARTNER_LOGIN.
28
40
  - Corrected the encryption/decryption key orientation in the bundled default
29
41
  partner settings.
42
+
43
+ [0.1.1]: https://github.com/TwilightCoders/pandoru/releases/tag/v0.1.1
44
+ [0.1.0]: https://github.com/TwilightCoders/pandoru/releases/tag/v0.1.0
data/README.md CHANGED
@@ -1,8 +1,13 @@
1
+ [![License ](https://img.shields.io/github/license/TwilightCoders/pandoru.svg)]()
2
+ [![Version ](https://img.shields.io/gem/v/pandoru.svg)](https://rubygems.org/gems/pandoru)
3
+ [![Build Status ](https://travis-ci.org/TwilightCoders/pandoru.svg)](https://travis-ci.org/TwilightCoders/pandoru)
4
+ [![Maintainability](https://qlty.sh/gh/TwilightCoders/projects/pandoru/maintainability.svg)](https://qlty.sh/gh/TwilightCoders/projects/pandoru)
5
+ [![Code Coverage ](https://qlty.sh/gh/TwilightCoders/projects/pandoru/coverage.svg)](https://qlty.sh/gh/TwilightCoders/projects/pandoru)
1
6
  # Pandoru
2
7
 
3
8
  **Pandoru** is a Ruby port of the Python `pydora` library, providing a comprehensive client for the unofficial Pandora music streaming API. This gem allows you to interact with Pandora programmatically to manage stations, get playlists, search for music, and control playback.
4
9
 
5
- > **Note**: This is an unofficial API client. Use at your own risk and respect Pandora's terms of service.
10
+ > ⚠️ **Note**: This is an unofficial API client. Use at your own risk and respect Pandora's terms of service.
6
11
 
7
12
  ---
8
13
 
@@ -260,4 +265,4 @@ This Ruby gem is a port of the excellent [pydora](https://github.com/mcrute/pydo
260
265
 
261
266
  ## Disclaimer
262
267
 
263
- This project is not affiliated with or endorsed by Pandora Media, Inc. Use of this library may violate Pandora's Terms of Service. Use at your own risk.
268
+ > ⚠️ This project is not affiliated with or endorsed by Pandora Media, Inc. Use of this library may violate Pandora's Terms of Service. Use at your own risk.
@@ -169,7 +169,8 @@ module Pandoru
169
169
 
170
170
  def add_seed(music_token)
171
171
  return false unless allow_add_music && @api_client
172
- @api_client.add_music(token, music_token)
172
+ # add_music expects (music_token, station_token) — music token first.
173
+ @api_client.add_music(music_token, token)
173
174
  true
174
175
  end
175
176
  end
@@ -308,7 +308,12 @@ module Pandoru
308
308
  end
309
309
 
310
310
  def build_url(method, params = {})
311
- protocol = REQUIRE_TLS.include?(method) ? "https" : "http"
311
+ # Pandora now requires TLS on every endpoint, so follow the transport's
312
+ # configured scheme uniformly. The old per-method REQUIRE_TLS downgrade
313
+ # built http://host:443 for non-listed methods (e.g. user.getStationList)
314
+ # — plaintext to the TLS port, which Pandora drops (EOF). Protocol and
315
+ # port must agree.
316
+ protocol = @api_tls ? "https" : "http"
312
317
  port = @api_tls ? 443 : 80
313
318
  # Only include port if it's non-standard
314
319
  port_string = (protocol == "https" && port == 443) || (protocol == "http" && port == 80) ? "" : ":#{port}"
@@ -1,3 +1,3 @@
1
1
  module Pandoru
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pandoru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dale Stevens
@@ -163,6 +163,34 @@ dependencies:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
165
  version: '6.0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: simplecov
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0.22'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '0.22'
180
+ - !ruby/object:Gem::Dependency
181
+ name: simplecov-lcov
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '0.8'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '0.8'
166
194
  description: A comprehensive Ruby client for the Pandora music streaming API, providing
167
195
  access to stations, playlists, search, and user management features.
168
196
  email:
@@ -199,7 +227,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
227
  requirements:
200
228
  - - ">="
201
229
  - !ruby/object:Gem::Version
202
- version: '2.7'
230
+ version: '3.0'
203
231
  required_rubygems_version: !ruby/object:Gem::Requirement
204
232
  requirements:
205
233
  - - ">="