spotify_web 0.0.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 +7 -0
- data/.gitignore +8 -0
- data/.rspec +2 -0
- data/.yardopts +7 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +3 -0
- data/LICENSE +20 -0
- data/README.md +309 -0
- data/Rakefile +13 -0
- data/examples/playlists.rb +14 -0
- data/lib/spotify_web.rb +105 -0
- data/lib/spotify_web/album.rb +58 -0
- data/lib/spotify_web/artist.rb +54 -0
- data/lib/spotify_web/assertions.rb +36 -0
- data/lib/spotify_web/authorized_user.rb +119 -0
- data/lib/spotify_web/client.rb +369 -0
- data/lib/spotify_web/connection.rb +162 -0
- data/lib/spotify_web/error.rb +13 -0
- data/lib/spotify_web/event.rb +95 -0
- data/lib/spotify_web/handler.rb +74 -0
- data/lib/spotify_web/loggable.rb +13 -0
- data/lib/spotify_web/playlist.rb +48 -0
- data/lib/spotify_web/resource.rb +309 -0
- data/lib/spotify_web/resource_collection.rb +99 -0
- data/lib/spotify_web/restriction.rb +32 -0
- data/lib/spotify_web/schema.rb +120 -0
- data/lib/spotify_web/schema/core.pb.rb +31 -0
- data/lib/spotify_web/schema/mercury.pb.rb +66 -0
- data/lib/spotify_web/schema/metadata.pb.rb +257 -0
- data/lib/spotify_web/schema/playlist4.pb.rb +461 -0
- data/lib/spotify_web/schema/radio.pb.rb +110 -0
- data/lib/spotify_web/schema/socialgraph.pb.rb +106 -0
- data/lib/spotify_web/song.rb +58 -0
- data/lib/spotify_web/user.rb +7 -0
- data/lib/spotify_web/version.rb +9 -0
- data/lib/tasks/spotify_web.rake +1 -0
- data/lib/tasks/spotify_web.rb +9 -0
- data/spec/spec_helper.rb +7 -0
- data/spec/spotify_web_spec.rb +4 -0
- data/spotify_web.gemspec +27 -0
- metadata +216 -0
@@ -0,0 +1,461 @@
|
|
1
|
+
## Generated from playlist4.proto for spotify.playlist4.proto
|
2
|
+
require "beefcake"
|
3
|
+
|
4
|
+
module SpotifyWeb
|
5
|
+
module Schema
|
6
|
+
module Playlist4
|
7
|
+
|
8
|
+
module ListAttributeKind
|
9
|
+
LIST_UNKNOWN = 0
|
10
|
+
LIST_NAME = 1
|
11
|
+
LIST_DESCRIPTION = 2
|
12
|
+
LIST_PICTURE = 3
|
13
|
+
LIST_COLLABORATIVE = 4
|
14
|
+
LIST_PL3_VERSION = 5
|
15
|
+
LIST_DELETED_BY_OWNER = 6
|
16
|
+
LIST_RESTRICTED_COLLABORATIVE = 7
|
17
|
+
end
|
18
|
+
|
19
|
+
module ItemAttributeKind
|
20
|
+
ITEM_UNKNOWN = 0
|
21
|
+
ITEM_ADDED_BY = 1
|
22
|
+
ITEM_TIMESTAMP = 2
|
23
|
+
ITEM_MESSAGE = 3
|
24
|
+
ITEM_SEEN = 4
|
25
|
+
ITEM_DOWNLOAD_COUNT = 5
|
26
|
+
ITEM_DOWNLOAD_FORMAT = 6
|
27
|
+
ITEM_SEVENDIGITAL_ID = 7
|
28
|
+
ITEM_SEVENDIGITAL_LEFT = 8
|
29
|
+
ITEM_SEEN_AT = 9
|
30
|
+
end
|
31
|
+
|
32
|
+
class ChangeInfo
|
33
|
+
include Beefcake::Message
|
34
|
+
end
|
35
|
+
|
36
|
+
class Delta
|
37
|
+
include Beefcake::Message
|
38
|
+
end
|
39
|
+
|
40
|
+
class Merge
|
41
|
+
include Beefcake::Message
|
42
|
+
end
|
43
|
+
|
44
|
+
class ChangeSet
|
45
|
+
include Beefcake::Message
|
46
|
+
|
47
|
+
module Kind
|
48
|
+
KIND_UNKNOWN = 0
|
49
|
+
DELTA = 2
|
50
|
+
MERGE = 3
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class RevisionTaggedChangeSet
|
55
|
+
include Beefcake::Message
|
56
|
+
end
|
57
|
+
|
58
|
+
class Diff
|
59
|
+
include Beefcake::Message
|
60
|
+
end
|
61
|
+
|
62
|
+
class ListDump
|
63
|
+
include Beefcake::Message
|
64
|
+
end
|
65
|
+
|
66
|
+
class ListChanges
|
67
|
+
include Beefcake::Message
|
68
|
+
end
|
69
|
+
|
70
|
+
class SelectedListContent
|
71
|
+
include Beefcake::Message
|
72
|
+
end
|
73
|
+
|
74
|
+
class Item
|
75
|
+
include Beefcake::Message
|
76
|
+
end
|
77
|
+
|
78
|
+
class ListItems
|
79
|
+
include Beefcake::Message
|
80
|
+
end
|
81
|
+
|
82
|
+
class ContentRange
|
83
|
+
include Beefcake::Message
|
84
|
+
end
|
85
|
+
|
86
|
+
class ListContentSelection
|
87
|
+
include Beefcake::Message
|
88
|
+
end
|
89
|
+
|
90
|
+
class ClientIssue
|
91
|
+
include Beefcake::Message
|
92
|
+
|
93
|
+
module Level
|
94
|
+
LEVEL_UNKNOWN = 0
|
95
|
+
LEVEL_DEBUG = 1
|
96
|
+
LEVEL_INFO = 2
|
97
|
+
LEVEL_NOTICE = 3
|
98
|
+
LEVEL_WARNING = 4
|
99
|
+
LEVEL_ERROR = 5
|
100
|
+
end
|
101
|
+
|
102
|
+
module Code
|
103
|
+
CODE_UNKNOWN = 0
|
104
|
+
CODE_INDEX_OUT_OF_BOUNDS = 1
|
105
|
+
CODE_VERSION_MISMATCH = 2
|
106
|
+
CODE_CACHED_CHANGE = 3
|
107
|
+
CODE_OFFLINE_CHANGE = 4
|
108
|
+
CODE_CONCURRENT_CHANGE = 5
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
class ClientResolveAction
|
113
|
+
include Beefcake::Message
|
114
|
+
|
115
|
+
module Code
|
116
|
+
CODE_UNKNOWN = 0
|
117
|
+
CODE_NO_ACTION = 1
|
118
|
+
CODE_RETRY = 2
|
119
|
+
CODE_RELOAD = 3
|
120
|
+
CODE_DISCARD_LOCAL_CHANGES = 4
|
121
|
+
CODE_SEND_DUMP = 5
|
122
|
+
CODE_DISPLAY_ERROR_MESSAGE = 6
|
123
|
+
end
|
124
|
+
|
125
|
+
module Initiator
|
126
|
+
INITIATOR_UNKNOWN = 0
|
127
|
+
INITIATOR_SERVER = 1
|
128
|
+
INITIATOR_CLIENT = 2
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
class ListChecksum
|
133
|
+
include Beefcake::Message
|
134
|
+
end
|
135
|
+
|
136
|
+
class DownloadFormat
|
137
|
+
include Beefcake::Message
|
138
|
+
|
139
|
+
module Codec
|
140
|
+
CODEC_UNKNOWN = 0
|
141
|
+
OGG_VORBIS = 1
|
142
|
+
FLAC = 2
|
143
|
+
MPEG_1_LAYER_3 = 3
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
class ListAttributes
|
148
|
+
include Beefcake::Message
|
149
|
+
end
|
150
|
+
|
151
|
+
class ItemAttributes
|
152
|
+
include Beefcake::Message
|
153
|
+
end
|
154
|
+
|
155
|
+
class StringAttribute
|
156
|
+
include Beefcake::Message
|
157
|
+
end
|
158
|
+
|
159
|
+
class StringAttributes
|
160
|
+
include Beefcake::Message
|
161
|
+
end
|
162
|
+
|
163
|
+
class Add
|
164
|
+
include Beefcake::Message
|
165
|
+
end
|
166
|
+
|
167
|
+
class Rem
|
168
|
+
include Beefcake::Message
|
169
|
+
end
|
170
|
+
|
171
|
+
class Mov
|
172
|
+
include Beefcake::Message
|
173
|
+
end
|
174
|
+
|
175
|
+
class ItemAttributesPartialState
|
176
|
+
include Beefcake::Message
|
177
|
+
end
|
178
|
+
|
179
|
+
class ListAttributesPartialState
|
180
|
+
include Beefcake::Message
|
181
|
+
end
|
182
|
+
|
183
|
+
class UpdateItemAttributes
|
184
|
+
include Beefcake::Message
|
185
|
+
end
|
186
|
+
|
187
|
+
class UpdateListAttributes
|
188
|
+
include Beefcake::Message
|
189
|
+
end
|
190
|
+
|
191
|
+
class Op
|
192
|
+
include Beefcake::Message
|
193
|
+
|
194
|
+
module Kind
|
195
|
+
KIND_UNKNOWN = 0
|
196
|
+
ADD = 2
|
197
|
+
REM = 3
|
198
|
+
MOV = 4
|
199
|
+
UPDATE_ITEM_ATTRIBUTES = 5
|
200
|
+
UPDATE_LIST_ATTRIBUTES = 6
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
class OpList
|
205
|
+
include Beefcake::Message
|
206
|
+
end
|
207
|
+
|
208
|
+
class ChangeInfo
|
209
|
+
optional :user, :string, 1
|
210
|
+
optional :timestamp, :int32, 2
|
211
|
+
optional :admin, :bool, 3
|
212
|
+
optional :undo, :bool, 4
|
213
|
+
optional :redo, :bool, 5
|
214
|
+
optional :merge, :bool, 6
|
215
|
+
optional :compressed, :bool, 7
|
216
|
+
optional :migration, :bool, 8
|
217
|
+
end
|
218
|
+
|
219
|
+
|
220
|
+
class Delta
|
221
|
+
optional :base_version, :bytes, 1
|
222
|
+
repeated :ops, Op, 2
|
223
|
+
optional :info, ChangeInfo, 4
|
224
|
+
end
|
225
|
+
|
226
|
+
|
227
|
+
class Merge
|
228
|
+
optional :base_version, :bytes, 1
|
229
|
+
optional :merge_version, :bytes, 2
|
230
|
+
optional :info, ChangeInfo, 4
|
231
|
+
end
|
232
|
+
|
233
|
+
|
234
|
+
class ChangeSet
|
235
|
+
required :kind, ChangeSet::Kind, 1
|
236
|
+
optional :delta, Delta, 2
|
237
|
+
optional :merge, Merge, 3
|
238
|
+
end
|
239
|
+
|
240
|
+
|
241
|
+
class RevisionTaggedChangeSet
|
242
|
+
required :revision, :bytes, 1
|
243
|
+
required :change_set, ChangeSet, 2
|
244
|
+
end
|
245
|
+
|
246
|
+
|
247
|
+
class Diff
|
248
|
+
required :from_revision, :bytes, 1
|
249
|
+
repeated :ops, Op, 2
|
250
|
+
required :to_revision, :bytes, 3
|
251
|
+
end
|
252
|
+
|
253
|
+
|
254
|
+
class ListDump
|
255
|
+
optional :latestRevision, :bytes, 1
|
256
|
+
optional :length, :int32, 2
|
257
|
+
optional :attributes, ListAttributes, 3
|
258
|
+
optional :checksum, ListChecksum, 4
|
259
|
+
optional :contents, ListItems, 5
|
260
|
+
repeated :pendingDeltas, Delta, 7
|
261
|
+
end
|
262
|
+
|
263
|
+
|
264
|
+
class ListChanges
|
265
|
+
optional :baseRevision, :bytes, 1
|
266
|
+
repeated :deltas, Delta, 2
|
267
|
+
optional :wantResultingRevisions, :bool, 3
|
268
|
+
optional :wantSyncResult, :bool, 4
|
269
|
+
optional :dump, ListDump, 5
|
270
|
+
repeated :nonces, :int32, 6
|
271
|
+
end
|
272
|
+
|
273
|
+
|
274
|
+
class SelectedListContent
|
275
|
+
optional :revision, :bytes, 1
|
276
|
+
optional :length, :int32, 2
|
277
|
+
optional :attributes, ListAttributes, 3
|
278
|
+
optional :checksum, ListChecksum, 4
|
279
|
+
optional :contents, ListItems, 5
|
280
|
+
optional :diff, Diff, 6
|
281
|
+
optional :syncResult, Diff, 7
|
282
|
+
repeated :resultingRevisions, :bytes, 8
|
283
|
+
optional :multipleHeads, :bool, 9
|
284
|
+
optional :upToDate, :bool, 10
|
285
|
+
repeated :resolveAction, ClientResolveAction, 12
|
286
|
+
repeated :issues, ClientIssue, 13
|
287
|
+
repeated :nonces, :int32, 14
|
288
|
+
end
|
289
|
+
|
290
|
+
|
291
|
+
class Item
|
292
|
+
required :uri, :string, 1
|
293
|
+
optional :attributes, ItemAttributes, 2
|
294
|
+
end
|
295
|
+
|
296
|
+
|
297
|
+
class ListItems
|
298
|
+
required :pos, :int32, 1
|
299
|
+
required :truncated, :bool, 2
|
300
|
+
repeated :items, Item, 3
|
301
|
+
end
|
302
|
+
|
303
|
+
|
304
|
+
class ContentRange
|
305
|
+
required :pos, :int32, 1
|
306
|
+
optional :length, :int32, 2
|
307
|
+
end
|
308
|
+
|
309
|
+
|
310
|
+
class ListContentSelection
|
311
|
+
optional :wantRevision, :bool, 1
|
312
|
+
optional :wantLength, :bool, 2
|
313
|
+
optional :wantAttributes, :bool, 3
|
314
|
+
optional :wantChecksum, :bool, 4
|
315
|
+
optional :wantContent, :bool, 5
|
316
|
+
optional :contentRange, ContentRange, 6
|
317
|
+
optional :wantDiff, :bool, 7
|
318
|
+
optional :baseRevision, :bytes, 8
|
319
|
+
optional :hintRevision, :bytes, 9
|
320
|
+
optional :wantNothingIfUpToDate, :bool, 10
|
321
|
+
optional :wantResolveAction, :bool, 12
|
322
|
+
repeated :issues, ClientIssue, 13
|
323
|
+
repeated :resolveAction, ClientResolveAction, 14
|
324
|
+
end
|
325
|
+
|
326
|
+
|
327
|
+
class ClientIssue
|
328
|
+
optional :level, ClientIssue::Level, 1
|
329
|
+
optional :code, ClientIssue::Code, 2
|
330
|
+
optional :repeatCount, :int32, 3
|
331
|
+
end
|
332
|
+
|
333
|
+
|
334
|
+
class ClientResolveAction
|
335
|
+
optional :code, ClientResolveAction::Code, 1
|
336
|
+
optional :initiator, ClientResolveAction::Initiator, 2
|
337
|
+
end
|
338
|
+
|
339
|
+
|
340
|
+
class ListChecksum
|
341
|
+
required :version, :int32, 1
|
342
|
+
optional :sha1, :bytes, 4
|
343
|
+
end
|
344
|
+
|
345
|
+
|
346
|
+
class DownloadFormat
|
347
|
+
required :codec, DownloadFormat::Codec, 1
|
348
|
+
end
|
349
|
+
|
350
|
+
|
351
|
+
class ListAttributes
|
352
|
+
optional :name, :string, 1
|
353
|
+
optional :description, :string, 2
|
354
|
+
optional :picture, :bytes, 3
|
355
|
+
optional :collaborative, :bool, 4
|
356
|
+
optional :pl3_version, :string, 5
|
357
|
+
optional :deleted_by_owner, :bool, 6
|
358
|
+
optional :restricted_collaborative, :bool, 7
|
359
|
+
end
|
360
|
+
|
361
|
+
|
362
|
+
class ItemAttributes
|
363
|
+
optional :added_by, :string, 1
|
364
|
+
optional :timestamp, :int64, 2
|
365
|
+
optional :message, :string, 3
|
366
|
+
optional :seen, :bool, 4
|
367
|
+
optional :download_count, :int64, 5
|
368
|
+
optional :download_format, DownloadFormat, 6
|
369
|
+
optional :sevendigital_id, :string, 7
|
370
|
+
optional :sevendigital_left, :int64, 8
|
371
|
+
optional :seen_at, :int64, 9
|
372
|
+
end
|
373
|
+
|
374
|
+
|
375
|
+
class StringAttribute
|
376
|
+
required :key, :string, 1
|
377
|
+
required :value, :string, 2
|
378
|
+
end
|
379
|
+
|
380
|
+
|
381
|
+
class StringAttributes
|
382
|
+
repeated :attribute, StringAttribute, 1
|
383
|
+
end
|
384
|
+
|
385
|
+
|
386
|
+
class Add
|
387
|
+
optional :fromIndex, :int32, 1
|
388
|
+
repeated :items, Item, 2
|
389
|
+
optional :list_checksum, ListChecksum, 3
|
390
|
+
optional :addLast, :bool, 4
|
391
|
+
optional :addFirst, :bool, 5
|
392
|
+
end
|
393
|
+
|
394
|
+
|
395
|
+
class Rem
|
396
|
+
optional :fromIndex, :int32, 1
|
397
|
+
optional :length, :int32, 2
|
398
|
+
repeated :items, Item, 3
|
399
|
+
optional :list_checksum, ListChecksum, 4
|
400
|
+
optional :items_checksum, ListChecksum, 5
|
401
|
+
optional :uris_checksum, ListChecksum, 6
|
402
|
+
optional :itemsAsKey, :bool, 7
|
403
|
+
end
|
404
|
+
|
405
|
+
|
406
|
+
class Mov
|
407
|
+
required :fromIndex, :int32, 1
|
408
|
+
required :length, :int32, 2
|
409
|
+
required :toIndex, :int32, 3
|
410
|
+
optional :list_checksum, ListChecksum, 4
|
411
|
+
optional :items_checksum, ListChecksum, 5
|
412
|
+
optional :uris_checksum, ListChecksum, 6
|
413
|
+
end
|
414
|
+
|
415
|
+
|
416
|
+
class ItemAttributesPartialState
|
417
|
+
required :values, ItemAttributes, 1
|
418
|
+
repeated :no_value, ItemAttributeKind, 2
|
419
|
+
end
|
420
|
+
|
421
|
+
|
422
|
+
class ListAttributesPartialState
|
423
|
+
required :values, ListAttributes, 1
|
424
|
+
repeated :no_value, ListAttributeKind, 2
|
425
|
+
end
|
426
|
+
|
427
|
+
|
428
|
+
class UpdateItemAttributes
|
429
|
+
required :index, :int32, 1
|
430
|
+
required :new_attributes, ItemAttributesPartialState, 2
|
431
|
+
optional :old_attributes, ItemAttributesPartialState, 3
|
432
|
+
optional :list_checksum, ListChecksum, 4
|
433
|
+
optional :old_attributes_checksum, ListChecksum, 5
|
434
|
+
end
|
435
|
+
|
436
|
+
|
437
|
+
class UpdateListAttributes
|
438
|
+
required :new_attributes, ListAttributesPartialState, 1
|
439
|
+
optional :old_attributes, ListAttributesPartialState, 2
|
440
|
+
optional :list_checksum, ListChecksum, 3
|
441
|
+
optional :old_attributes_checksum, ListChecksum, 4
|
442
|
+
end
|
443
|
+
|
444
|
+
|
445
|
+
class Op
|
446
|
+
required :kind, Op::Kind, 1
|
447
|
+
optional :add, Add, 2
|
448
|
+
optional :rem, Rem, 3
|
449
|
+
optional :mov, Mov, 4
|
450
|
+
optional :update_item_attributes, UpdateItemAttributes, 5
|
451
|
+
optional :update_list_attributes, UpdateListAttributes, 6
|
452
|
+
end
|
453
|
+
|
454
|
+
|
455
|
+
class OpList
|
456
|
+
repeated :ops, Op, 1
|
457
|
+
end
|
458
|
+
|
459
|
+
end
|
460
|
+
end
|
461
|
+
end
|