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 +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +7 -2
- data/lib/pandoru/models/station.rb +2 -1
- data/lib/pandoru/transport.rb +6 -1
- data/lib/pandoru/version.rb +1 -1
- metadata +30 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ad02207b38cdbe7ac38fe971c4a3c13e1f439336791f559b6c3bd6b2cc38ef36
|
|
4
|
+
data.tar.gz: da0f8c0372e9302bfee89f5ddcd7d1b460265f3f55b21ef1054c1bc59e8c6b2e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
+
[]()
|
|
2
|
+
[](https://rubygems.org/gems/pandoru)
|
|
3
|
+
[](https://travis-ci.org/TwilightCoders/pandoru)
|
|
4
|
+
[](https://qlty.sh/gh/TwilightCoders/projects/pandoru)
|
|
5
|
+
[](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
|
-
|
|
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
|
data/lib/pandoru/transport.rb
CHANGED
|
@@ -308,7 +308,12 @@ module Pandoru
|
|
|
308
308
|
end
|
|
309
309
|
|
|
310
310
|
def build_url(method, params = {})
|
|
311
|
-
|
|
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}"
|
data/lib/pandoru/version.rb
CHANGED
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.
|
|
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: '
|
|
230
|
+
version: '3.0'
|
|
203
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
204
232
|
requirements:
|
|
205
233
|
- - ">="
|