├── .github
└── workflows
│ └── test.yml
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── UPGRADE.md
├── composer.json
├── lib
└── Discogs
│ ├── ClientFactory.php
│ └── Subscriber
│ └── ThrottleSubscriber.php
├── phpunit.xml.dist
├── resources
└── service.php
└── tests
├── Discogs
└── Test
│ ├── ClientFactoryTest.php
│ ├── ClientTest.php
│ └── Subscriber
│ └── ThrottleSubscriberTest.php
├── bootstrap.php
└── fixtures
├── add_order_message
├── change_listing
├── change_order
├── create_listing
├── delete_listing
├── get_artist
├── get_artist_releases
├── get_collection_folder
├── get_collection_folders
├── get_collection_items_by_folder
├── get_inventory
├── get_label
├── get_label_releases
├── get_listing
├── get_master
├── get_master_versions
├── get_oauth_identity
├── get_order
├── get_orders
├── get_profile
├── get_release
└── search
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: Test
2 |
3 | on:
4 | push:
5 |
6 | jobs:
7 | run:
8 | name: PHPUnit
9 | runs-on: 'ubuntu-latest'
10 | strategy:
11 | matrix:
12 | php-versions:
13 | - 5.4
14 | - 5.5
15 | - 5.6
16 | - 7.0
17 | - 7.4
18 |
19 | steps:
20 | - uses: actions/checkout@v2
21 |
22 | - name: Setup PHP
23 | uses: shivammathur/setup-php@v2
24 | with:
25 | php-version: ${{ matrix.php-versions }}
26 | coverage: xdebug
27 | tools: composer:v1
28 |
29 | - name: Install composer dependencies
30 | uses: ramsey/composer-install@v2
31 |
32 | - name: Run PHPUnit
33 | run: vendor/bin/phpunit
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | vendor
3 | composer.lock
4 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | php:
4 | - 5.4
5 | - 5.5
6 | - 5.6
7 | - 7.0
8 | - hhvm
9 |
10 | matrix:
11 | allow_failures:
12 | - php: hhvm
13 |
14 | notifications:
15 | email:
16 | - richard@vandenbrand.org
17 |
18 | before_script:
19 | - wget http://getcomposer.org/composer.phar
20 | - php composer.phar install
21 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010-2014 Richard van den Brand
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is furnished
8 | to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Discogs Api
2 |
3 | [](http://travis-ci.org/ricbra/php-discogs-api)
4 | [](https://packagist.org/packages/ricbra/php-discogs-api)
5 | [](https://packagist.org/packages/ricbra/php-discogs-api)
6 | [](https://packagist.org/packages/ricbra/php-discogs-api)
7 | [](https://scrutinizer-ci.com/g/ricbra/php-discogs-api/)
8 |
9 | This library is a PHP 5.4 implementation of the [Discogs API v2.0.](http://www.discogs.com/developers/index.html)
10 | The Discogs API is a REST-based interface. By using this library you don't have to worry about communicating with the
11 | API: all the hard work has already be done.
12 |
13 | This API is build upon the shoulders of a giant: [Guzzle 4.0](http://guzzle.readthedocs.org/en/latest/). This is an absolutely awesome library.
14 |
15 | # Deprecated
16 |
17 | This repository is outdated and not maintained anymore. Please see https://github.com/calliostro/php-discogs-api for a more up to date version.
18 |
19 | ## License
20 | This library is released under the MIT license. See the complete license in the LICENSE file.
21 |
22 | ## Installation
23 | Start by [installing composer](http://getcomposer.org/doc/01-basic-usage.md#installation).
24 | Next do:
25 |
26 | $ composer require ricbra/php-discogs-api
27 |
28 | ## Requirements
29 | PHP >=5.4.0
30 |
31 | ## Usage
32 | Creating a new instance is as simple as:
33 |
34 | ```php
35 | [
46 | 'headers' => ['User-Agent' => 'your-app-name/0.1 +https://www.awesomesite.com'],
47 | ]
48 | ]);
49 | ```
50 |
51 | ### Throttling
52 | Discogs doesn't like it when you hit their API at a too high connection rate. Use the ThrottleSubscriber
to
53 | prevent getting errors or banned:
54 |
55 | ```php
56 | getHttpClient()->getEmitter()->attach(new Discogs\Subscriber\ThrottleSubscriber());
60 |
61 | ```
62 |
63 | #### Authentication
64 |
65 | Discogs API allow to access protected endpoints with either a simple [Discogs Auth Flow](https://www.discogs.com/developers/#page:authentication,header:authentication-discogs-auth-flow) or a more advanced (and more complex) [Oauth Flow](https://www.discogs.com/developers/#page:authentication,header:authentication-oauth-flow)
66 |
67 | ### Discogs Auth
68 |
69 | As stated in the Discogs Authentication documentation:
70 | > In order to access protected endpoints, you’ll need to register for either a consumer key and secret or user token, depending on your situation:
71 | > - To easily access your own user account information, use a *User token*.
72 | > - To get access to an endpoint that requires authentication and build 3rd party apps, use a *Consumer Key and Secret*.
73 |
74 | With the Discogs Php API you can add your credentials to each request by adding a `query` key to your own defaults like this:
75 | ```php
76 | $client = ClientFactory::factory([
77 | 'defaults' => [
78 | 'query' => [
79 | 'key' => 'my-key',
80 | 'secret' => 'my-secret',
81 | ],
82 | ]
83 | ]);
84 | ```
85 |
86 | ### OAuth
87 | There are a lot of endpoints which require OAuth. Lucky for you using Guzzle this is peanuts. If you're having trouble obtaining the token and token_secret, please check out my [example implementation](https://github.com/ricbra/php-discogs-api-example).
88 |
89 | ```php
90 | $consumerKey, // from Discogs developer page
95 | 'consumer_secret' => $consumerSecret, // from Discogs developer page
96 | 'token' => $token['oauth_token'], // get this using a OAuth library
97 | 'token_secret' => $token['oauth_token_secret'] // get this using a OAuth library
98 | ]);
99 | $client->getHttpClient()->getEmitter()->attach($oauth);
100 |
101 | $response = $client->search([
102 | 'q' => 'searchstring'
103 | ]);
104 | ```
105 |
106 | ### History
107 | Another cool plugin is the History plugin:
108 |
109 | ```php
110 | getHttpClient()->getEmitter()->attach($history);
115 |
116 | $response = $client->search([
117 | 'q' => 'searchstring'
118 | ]);
119 |
120 | foreach ($history as $row) {
121 | print (string) $row['request'];
122 | print (string) $row['response'];
123 | }
124 |
125 | ```
126 |
127 | ### More info and plugins
128 | For more information about Guzzle and its plugins checkout [the docs.](http://guzzle.readthedocs.org/en/latest/)
129 |
130 | ### Perform a search:
131 | Per august 2014 a signed OAuth request is required for this endpoint.
132 |
133 | ```php
134 | search([
137 | 'q' => 'Meagashira'
138 | ]);
139 | // Loop through results
140 | foreach ($response['results'] as $result) {
141 | var_dump($result['title']);
142 | }
143 | // Pagination data
144 | var_dump($response['pagination']);
145 |
146 | // Dump all data
147 | var_dump($response->toArray());
148 |
149 | ```
150 |
151 | ### Get information about a label:
152 |
153 | ```php
154 | getLabel([
157 | 'id' => 1
158 | ]);
159 |
160 | ```
161 |
162 | ### Get information about an artist:
163 |
164 | ```php
165 | getArtist([
168 | 'id' => 1
169 | ]);
170 |
171 | ```
172 |
173 | ### Get information about a release:
174 |
175 | ```php
176 | getRelease([
179 | 'id' => 1
180 | ]);
181 |
182 | echo $release['title']."\n";
183 | ```
184 |
185 | ### Get information about a master release:
186 |
187 | ```php
188 | getMaster([
191 | 'id' => 1
192 | ]);
193 |
194 | echo $master['title']."\n";
195 | ```
196 |
197 | ### Get image
198 |
199 | Discogs returns the full url to images so just use the internal client to get those:
200 |
201 | ```
202 | php
203 |
204 | $release = $client->getRelease([
205 | 'id' => 1
206 | ]);
207 | foreach ($release['images'] as $image) {
208 | $response = $client->getHttpClient()->get($image['uri']);
209 | // response code
210 | echo $response->getStatusCode();
211 | // image blob itself
212 | echo $client->getHttpClient()->get($image['uri'])->getBody()->getContents();
213 | }
214 |
215 | ```
216 |
217 | ### User Collection
218 |
219 | Authorization is required when `folder_id` is not `0`.
220 |
221 | #### Get collection folders
222 |
223 | ```php
224 | getCollectionFolders([
227 | 'username' => 'example'
228 | ]);
229 | ```
230 |
231 | #### Get collection folder
232 |
233 |
234 | ```php
235 | getCollectionFolder([
238 | 'username' => 'example',
239 | 'folder_id' => 1
240 | ]);
241 | ```
242 |
243 | #### Get collection items by folder
244 |
245 | ```php
246 | getCollectionItemsByFolder([
249 | 'username' => 'example',
250 | 'folder_id' => 3
251 | ]);
252 | ```
253 |
254 | ## Documentation
255 | Further documentation can be found at the [Discogs API v2.0 Documentation](http://www.discogs.com/developers/index.html).
256 |
257 | ## Contributing
258 | Implemented a missing call? PR's are welcome!
259 |
260 |
261 | [](https://bitdeli.com/free "Bitdeli Badge")
262 |
263 |
--------------------------------------------------------------------------------
/UPGRADE.md:
--------------------------------------------------------------------------------
1 | Upgrade from 0.x.x to 1.0.0
2 | ===========================
3 |
4 | API calls
5 | ---------
6 |
7 | All API calls signatures have changed. Old situation:
8 |
9 | getArtist(1);
12 |
13 | New situation is always using arrays:
14 |
15 | getArtist([
18 | 'id' => 1
19 | ]);
20 |
21 | In the resources/service.php
file you can find all the implemented calls and their signatures and responses.
22 |
23 | Iterator removed
24 | ----------------
25 |
26 | It's not yet possible to iterate over the responses. Perhaps this will be added in the near future. It should be
27 | easy to implement an Iterator
yourself. PR's are welcome :).
28 |
29 | Caching removed
30 | ---------------
31 |
32 | Caching in the library itself is removed. This can be achieved by creating or using a cache plugin. At the moment of
33 | writing the plugin for Guzzle isn't refactored yet for version 4.0.
34 |
35 | No more models
36 | --------------
37 |
38 | Models have been replaced with plain old arrays. Models were nice for typing but a hell to manage. All responses will
39 | return an array. When you want to debug the output use $response->toArray()
.
40 |
41 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ricbra/php-discogs-api",
3 | "description": "The Discogs API makes it easy for developers to communicate with the Discogs platform",
4 | "type": "library",
5 | "keywords": ["discogs", "api"],
6 | "license": "MIT",
7 | "require": {
8 | "php": ">=5.4.0",
9 | "guzzlehttp/guzzle": "~5.0",
10 | "guzzlehttp/guzzle-services": "~0.5.0",
11 | "guzzlehttp/oauth-subscriber": "~0.2"
12 | },
13 | "require-dev": {
14 | "phpunit/phpunit": "~4"
15 | },
16 | "authors": [
17 | {
18 | "name": "Richard van den Brand",
19 | "email": "richard@vandenbrand.org"
20 | }
21 | ],
22 | "autoload": {
23 | "psr-0": { "Discogs": "lib/" }
24 | },
25 | "extra": {
26 | "branch-alias": {
27 | "dev-master": "1.0.x-dev"
28 | }
29 | },
30 | "suggest": {
31 | "ricbra/discogs-bundle": "For integrating Discogs into Symfony2"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/lib/Discogs/ClientFactory.php:
--------------------------------------------------------------------------------
1 |
6 | *
7 | * For the full copyright and license information, please view the LICENSE
8 | * file that was distributed with this source code.
9 | */
10 |
11 | namespace Discogs;
12 |
13 | use GuzzleHttp\Client;
14 | use GuzzleHttp\Command\Guzzle\Description;
15 | use GuzzleHttp\Command\Guzzle\GuzzleClient;
16 |
17 | class ClientFactory
18 | {
19 | public static function factory(array $config = [])
20 | {
21 | $defaultConfig = [
22 | 'defaults' => [
23 | 'headers' => ['User-Agent' => 'php-discogs-api/1.0.0 +https://github.com/ricbra/php-discogs-api'],
24 | 'auth' => 'oauth'
25 | ],
26 | ];
27 |
28 | $client = new Client(self::mergeRecursive($defaultConfig, $config));
29 | $service = include __DIR__ . '/../../resources/service.php';
30 | $description = new Description($service);
31 |
32 | return new GuzzleClient($client, $description);
33 | }
34 |
35 | public static function &mergeRecursive(array &$array1, &$array2 = null)
36 | {
37 | $merged = $array1;
38 |
39 | if (is_array($array2)) {
40 | foreach ($array2 as $key => $val) {
41 | if (is_array($array2[$key])) {
42 | $merged[$key] = isset($merged[$key]) && is_array($merged[$key]) ? self::mergeRecursive($merged[$key], $array2[$key]) : $array2[$key];
43 | } else {
44 | $merged[$key] = $val;
45 | }
46 | }
47 | }
48 |
49 | return $merged;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/lib/Discogs/Subscriber/ThrottleSubscriber.php:
--------------------------------------------------------------------------------
1 | throttle = (int) $throttle;
22 | }
23 |
24 | public function getEvents()
25 | {
26 | return [
27 | 'complete' => ['onComplete']
28 | ];
29 | }
30 |
31 | public function onComplete(CompleteEvent $event)
32 | {
33 | $now = microtime(true);
34 | $wait = self::$previousTimestamp + $this->throttle - $now;
35 |
36 | if ($wait > 0) {
37 | usleep($wait);
38 | }
39 |
40 | self::$previousTimestamp = microtime(true);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | tests/Discogs/
7 |
8 |
9 |
10 |
11 |
12 | lib/Discogs/
13 |
14 |
15 |
--------------------------------------------------------------------------------
/resources/service.php:
--------------------------------------------------------------------------------
1 |
6 | *
7 | * For the full copyright and license information, please view the LICENSE
8 | * file that was distributed with this source code.
9 | */
10 |
11 | return [
12 | 'baseUrl' => 'https://api.discogs.com/',
13 | 'operations' => [
14 | 'getArtist' => [
15 | 'httpMethod' => 'GET',
16 | 'uri' => 'artists/{id}',
17 | 'responseModel' => 'GetResponse',
18 | 'parameters' => [
19 | 'id' => [
20 | 'type' => 'string',
21 | 'location' => 'uri',
22 | 'required' => true
23 | ]
24 | ]
25 | ],
26 | 'getArtistReleases' => [
27 | 'httpMethod' => 'GET',
28 | 'uri' => 'artists/{id}/releases',
29 | 'responseModel' => 'GetResponse',
30 | 'parameters' => [
31 | 'id' => [
32 | 'type' => 'string',
33 | 'location' => 'uri',
34 | 'required' => true
35 | ],
36 | 'per_page' => [
37 | 'type' => 'integer',
38 | 'location' => 'query',
39 | 'required' => false
40 | ],
41 | 'page' => [
42 | 'type' => 'integer',
43 | 'location' => 'query',
44 | 'required' => false
45 | ]
46 | ]
47 | ],
48 | 'search' => [
49 | 'httpMethod' => 'GET',
50 | 'uri' => 'database/search',
51 | 'responseModel' => 'GetResponse',
52 | 'parameters' => [
53 | 'q' => [
54 | 'type' => 'string',
55 | 'location' => 'query',
56 | 'required' => false
57 | ],
58 | 'type' => [
59 | 'type' => 'string',
60 | 'location' => 'query',
61 | 'required' => false
62 | ],
63 | 'title' => [
64 | 'type' => 'string',
65 | 'location' => 'query',
66 | 'required' => false
67 | ],
68 | 'release_title' => [
69 | 'type' => 'string',
70 | 'location' => 'query',
71 | 'required' => false
72 | ],
73 | 'credit' => [
74 | 'type' => 'string',
75 | 'location' => 'query',
76 | 'required' => false
77 | ],
78 | 'artist' => [
79 | 'type' => 'string',
80 | 'location' => 'query',
81 | 'required' => false
82 | ],
83 | 'anv' => [
84 | 'type' => 'string',
85 | 'location' => 'query',
86 | 'required' => false
87 | ],
88 | 'label' => [
89 | 'type' => 'string',
90 | 'location' => 'query',
91 | 'required' => false
92 | ],
93 | 'genre' => [
94 | 'type' => 'string',
95 | 'location' => 'query',
96 | 'required' => false
97 | ],
98 | 'style' => [
99 | 'type' => 'string',
100 | 'location' => 'query',
101 | 'required' => false
102 | ],
103 | 'country' => [
104 | 'type' => 'string',
105 | 'location' => 'query',
106 | 'required' => false
107 | ],
108 | 'year' => [
109 | 'type' => 'string',
110 | 'location' => 'query',
111 | 'required' => false
112 | ],
113 | 'format' => [
114 | 'type' => 'string',
115 | 'location' => 'query',
116 | 'required' => false
117 | ],
118 | 'catno' => [
119 | 'type' => 'string',
120 | 'location' => 'query',
121 | 'required' => false
122 | ],
123 | 'barcode' => [
124 | 'type' => 'string',
125 | 'location' => 'query',
126 | 'required' => false
127 | ],
128 | 'track' => [
129 | 'type' => 'string',
130 | 'location' => 'query',
131 | 'required' => false
132 | ],
133 | 'submitter' => [
134 | 'type' => 'string',
135 | 'location' => 'query',
136 | 'required' => false
137 | ],
138 | 'contributor' => [
139 | 'type' => 'string',
140 | 'location' => 'query',
141 | 'required' => false
142 | ],
143 | 'per_page' => [
144 | 'type' => 'integer',
145 | 'location' => 'query',
146 | 'required' => false
147 | ],
148 | 'page' => [
149 | 'type' => 'integer',
150 | 'location' => 'query',
151 | 'required' => false
152 | ]
153 | ]
154 | ],
155 | 'getRelease' => [
156 | 'httpMethod' => 'GET',
157 | 'uri' => 'releases/{id}',
158 | 'responseModel' => 'GetResponse',
159 | 'parameters' => [
160 | 'id' => [
161 | 'type' => 'string',
162 | 'location' => 'uri',
163 | 'required' => true
164 | ],
165 | 'curr_abbr' => [
166 | 'type' => 'string',
167 | 'location' => 'query',
168 | 'required' => false
169 | ]
170 | ]
171 | ],
172 | 'getMaster' => [
173 | 'httpMethod' => 'GET',
174 | 'uri' => 'masters/{id}',
175 | 'responseModel' => 'GetResponse',
176 | 'parameters' => [
177 | 'id' => [
178 | 'type' => 'string',
179 | 'location' => 'uri',
180 | 'required' => true
181 | ]
182 | ]
183 | ],
184 | 'getMasterVersions' => [
185 | 'httpMethod' => 'GET',
186 | 'uri' => 'masters/{id}/versions',
187 | 'responseModel' => 'GetResponse',
188 | 'parameters' => [
189 | 'id' => [
190 | 'type' => 'string',
191 | 'location' => 'uri',
192 | 'required' => true
193 | ],
194 | 'per_page' => [
195 | 'type' => 'integer',
196 | 'location' => 'query',
197 | 'required' => false
198 | ],
199 | 'page' => [
200 | 'type' => 'integer',
201 | 'location' => 'query',
202 | 'required' => false
203 | ]
204 | ]
205 | ],
206 | 'getLabel' => [
207 | 'httpMethod' => 'GET',
208 | 'uri' => 'labels/{id}',
209 | 'responseModel' => 'GetResponse',
210 | 'parameters' => [
211 | 'id' => [
212 | 'type' => 'string',
213 | 'location' => 'uri',
214 | 'required' => true
215 | ]
216 | ]
217 | ],
218 | 'getLabelReleases' => [
219 | 'httpMethod' => 'GET',
220 | 'uri' => 'labels/{id}/releases',
221 | 'responseModel' => 'GetResponse',
222 | 'parameters' => [
223 | 'id' => [
224 | 'type' => 'string',
225 | 'location' => 'uri',
226 | 'required' => true
227 | ],
228 | 'per_page' => [
229 | 'type' => 'integer',
230 | 'location' => 'query',
231 | 'required' => false
232 | ],
233 | 'page' => [
234 | 'type' => 'integer',
235 | 'location' => 'query',
236 | 'required' => false
237 | ]
238 | ]
239 | ],
240 | 'getOAuthIdentity' => [
241 | 'httpMethod' => 'GET',
242 | 'uri' => 'oauth/identity',
243 | 'responseModel' => 'GetResponse',
244 | ],
245 | 'getProfile' => [
246 | 'httpMethod' => 'GET',
247 | 'uri' => 'users/{username}',
248 | 'responseModel' => 'GetResponse',
249 | 'parameters' => [
250 | 'username' => [
251 | 'type' => 'string',
252 | 'location' => 'uri',
253 | 'required' => true
254 | ],
255 | ],
256 | ],
257 | 'getInventory' => [
258 | 'httpMethod' => 'GET',
259 | 'uri' => 'users/{username}/inventory',
260 | 'responseModel' => 'GetResponse',
261 | 'parameters' => [
262 | 'username' => [
263 | 'type' => 'string',
264 | 'location' => 'uri',
265 | 'required' => true
266 | ],
267 | 'status' => [
268 | 'type' => 'string',
269 | 'location' => 'query',
270 | 'required' => false,
271 | ],
272 | 'sort' => [
273 | 'type' => 'string',
274 | 'location' => 'query',
275 | 'required' => false,
276 | ],
277 | 'sort_order' => [
278 | 'type' => 'string',
279 | 'location' => 'query',
280 | 'required' => false,
281 | ],
282 | 'per_page' => [
283 | 'type' => 'integer',
284 | 'location' => 'query',
285 | 'required' => false
286 | ],
287 | 'page' => [
288 | 'type' => 'integer',
289 | 'location' => 'query',
290 | 'required' => false
291 | ]
292 | ]
293 | ],
294 | 'getOrder' => [
295 | 'httpMethod' => 'GET',
296 | 'uri' => 'marketplace/orders/{order_id}',
297 | 'responseModel' => 'GetResponse',
298 | 'parameters' => [
299 | 'order_id' => [
300 | 'type' => 'string',
301 | 'location' => 'uri',
302 | 'required' => true
303 | ]
304 | ]
305 | ],
306 | 'getOrders' => [
307 | 'httpMethod' => 'GET',
308 | 'uri' => 'marketplace/orders',
309 | 'responseModel' => 'GetResponse',
310 | 'parameters' => [
311 | 'status' => [
312 | 'type' => 'string',
313 | 'location' => 'query',
314 | 'required' => false
315 | ],
316 | 'created_after' => [
317 | 'type' => 'string',
318 | 'location' => 'query',
319 | 'required' => false
320 | ],
321 | 'created_before' => [
322 | 'type' => 'string',
323 | 'location' => 'query',
324 | 'required' => false
325 | ],
326 | 'archived' => [
327 | 'type' => 'boolean',
328 | 'location' => 'query',
329 | 'required' => false
330 | ],
331 | 'sort' => [
332 | 'type' => 'string',
333 | 'location' => 'query',
334 | 'required' => false,
335 | ],
336 | 'sort_order' => [
337 | 'type' => 'string',
338 | 'location' => 'query',
339 | 'required' => false,
340 | ]
341 | ]
342 | ],
343 | 'changeOrder' => [
344 | 'httpMethod' => 'POST',
345 | 'uri' => 'marketplace/orders/{order_id}',
346 | 'summary' => 'Edit the data associated with an order.',
347 | 'responseModel' => 'GetResponse',
348 | 'parameters' => [
349 | 'order_id' => [
350 | 'type' => 'string',
351 | 'location' => 'uri',
352 | 'required' => true
353 | ],
354 | 'status' => [
355 | 'type' => 'string',
356 | 'location' => 'json',
357 | 'required' => false,
358 | ],
359 | 'shipping' => [
360 | 'type' => 'number',
361 | 'location' => 'json',
362 | 'required' => false,
363 | ]
364 | ]
365 | ],
366 | 'addOrderMessage' => [
367 | 'httpMethod' => 'POST',
368 | 'uri' => 'marketplace/orders/{order_id}/messages',
369 | 'summary' => 'Adds a new message to the order’s message log.',
370 | 'responseModel' => 'GetResponse',
371 | 'parameters' => [
372 | 'order_id' => [
373 | 'type' => 'string',
374 | 'location' => 'uri',
375 | 'required' => true
376 | ],
377 | 'message' => [
378 | 'type' => 'string',
379 | 'location' => 'json',
380 | 'required' => false,
381 | ],
382 | 'status' => [
383 | 'type' => 'string',
384 | 'location' => 'json',
385 | 'required' => false,
386 | ]
387 | ]
388 | ],
389 | 'getListing' => [
390 | 'httpMethod' => 'GET',
391 | 'uri' => 'marketplace/listings/{listing_id}',
392 | 'summary' => 'The Listing resource allows you to view Marketplace listings.',
393 | 'responseModel' => 'GetResponse',
394 | 'parameters' => [
395 | 'listing_id' => [
396 | 'type' => 'string',
397 | 'location' => 'uri',
398 | 'required' => true
399 | ],
400 | 'curr_abbr' => [
401 | 'type' => 'string',
402 | 'location' => 'query',
403 | 'required' => false
404 | ]
405 | ]
406 | ],
407 | 'createListing' => [
408 | 'httpMethod' => 'POST',
409 | 'uri' => '/marketplace/listings',
410 | 'summary' => 'Create a Marketplace listing.',
411 | 'responseModel' => 'GetResponse',
412 | 'parameters' => [
413 | 'release_id' => [
414 | 'type' => 'string',
415 | 'location' => 'json',
416 | 'required' => true
417 | ],
418 | 'condition' => [
419 | 'type' => 'string',
420 | 'location' => 'json',
421 | 'required' => true,
422 | ],
423 | 'sleeve_condition' => [
424 | 'type' => 'string',
425 | 'location' => 'json',
426 | 'required' => false,
427 | ],
428 | 'price' => [
429 | 'type' => 'number',
430 | 'location' => 'json',
431 | 'required' => true,
432 | ],
433 | 'comments' => [
434 | 'type' => 'string',
435 | 'location' => 'json',
436 | 'required' => false,
437 | ],
438 | 'allow_offers' => [
439 | 'type' => 'boolean',
440 | 'location' => 'json',
441 | 'required' => false,
442 | ],
443 | 'status' => [
444 | 'type' => 'string',
445 | 'location' => 'json',
446 | 'required' => true,
447 | ],
448 | 'external_id' => [
449 | 'type' => 'string',
450 | 'location' => 'json',
451 | 'required' => false,
452 | ],
453 | 'location' => [
454 | 'type' => 'string',
455 | 'location' => 'json',
456 | 'required' => false,
457 | ],
458 | 'weight' => [
459 | 'type' => 'number',
460 | 'location' => 'json',
461 | 'required' => false,
462 | ],
463 | 'format_quantity' => [
464 | 'type' => 'number',
465 | 'location' => 'json',
466 | 'required' => false,
467 | ]
468 | ]
469 | ],
470 | 'changeListing' => [
471 | 'httpMethod' => 'POST',
472 | 'uri' => 'marketplace/listings/{listing_id}',
473 | 'summary' => 'Edit the data associated with a listing.',
474 | 'responseModel' => 'GetResponse',
475 | 'parameters' => [
476 | 'listing_id' => [
477 | 'type' => 'string',
478 | 'location' => 'uri',
479 | 'required' => true,
480 | ],
481 | 'release_id' => [
482 | 'type' => 'string',
483 | 'location' => 'json',
484 | 'required' => false,
485 | ],
486 | 'condition' => [
487 | 'type' => 'string',
488 | 'location' => 'json',
489 | 'required' => false,
490 | ],
491 | 'sleeve_condition' => [
492 | 'type' => 'string',
493 | 'location' => 'json',
494 | 'required' => false,
495 | ],
496 | 'price' => [
497 | 'type' => 'number',
498 | 'location' => 'json',
499 | 'required' => false,
500 | ],
501 | 'comments' => [
502 | 'type' => 'string',
503 | 'location' => 'json',
504 | 'required' => false,
505 | ],
506 | 'allow_offers' => [
507 | 'type' => 'boolean',
508 | 'location' => 'json',
509 | 'required' => false,
510 | ],
511 | 'status' => [
512 | 'type' => 'string',
513 | 'location' => 'json',
514 | 'required' => false,
515 | ],
516 | 'external_id' => [
517 | 'type' => 'string',
518 | 'location' => 'json',
519 | 'required' => false,
520 | ],
521 | 'location' => [
522 | 'type' => 'string',
523 | 'location' => 'json',
524 | 'required' => false,
525 | ],
526 | 'weight' => [
527 | 'type' => 'number',
528 | 'location' => 'json',
529 | 'required' => false,
530 | ],
531 | 'format_quantity' => [
532 | 'type' => 'number',
533 | 'location' => 'json',
534 | 'required' => false,
535 | ]
536 | ]
537 | ],
538 | 'deleteListing' => [
539 | 'httpMethod' => 'DELETE',
540 | 'uri' => 'marketplace/listings/{listing_id}',
541 | 'responseModel' => 'GetResponse',
542 | 'parameters' => [
543 | 'listing_id' => [
544 | 'type' => 'string',
545 | 'location' => 'uri',
546 | 'required' => true
547 | ]
548 | ]
549 | ],
550 | 'getCollectionFolders' => [
551 | 'httpMethod' => 'GET',
552 | 'uri' => 'users/{username}/collection/folders',
553 | 'responseModel' => 'GetResponse',
554 | 'parameters' => [
555 | 'username' => [
556 | 'type' => 'string',
557 | 'location' => 'uri',
558 | 'required' => true
559 | ]
560 | ]
561 | ],
562 | 'getCollectionFolder' => [
563 | 'httpMethod' => 'GET',
564 | 'uri' => 'users/{username}/collection/folders/{folder_id}',
565 | 'responseModel' => 'GetResponse',
566 | 'parameters' => [
567 | 'username' => [
568 | 'type' => 'string',
569 | 'location' => 'uri',
570 | 'required' => true
571 | ],
572 | 'folder_id' => [
573 | 'type' => 'string',
574 | 'location' => 'uri',
575 | 'required' => true
576 | ],
577 | ]
578 | ],
579 | 'getCollectionItemsByFolder' => [
580 | 'httpMethod' => 'GET',
581 | 'uri' => 'users/{username}/collection/folders/{folder_id}/releases',
582 | 'responseModel' => 'GetResponse',
583 | 'parameters' => [
584 | 'username' => [
585 | 'type' => 'string',
586 | 'location' => 'uri',
587 | 'required' => true
588 | ],
589 | 'folder_id' => [
590 | 'type' => 'string',
591 | 'location' => 'uri',
592 | 'required' => true
593 | ],
594 | 'per_page' => [
595 | 'type' => 'integer',
596 | 'location' => 'query',
597 | 'required' => false
598 | ],
599 | 'page' => [
600 | 'type' => 'string',
601 | 'location' => 'query',
602 | 'required' => false
603 | ]
604 | ]
605 | ]
606 | ],
607 | 'models' => [
608 | 'GetResponse' => [
609 | 'type' => 'object',
610 | 'additionalProperties' => [
611 | 'location' => 'json'
612 | ],
613 | ],
614 | ]
615 | ];
616 |
--------------------------------------------------------------------------------
/tests/Discogs/Test/ClientFactoryTest.php:
--------------------------------------------------------------------------------
1 | 'php-discogs-api/1.0.0 +https://github.com/ricbra/php-discogs-api'];
19 | $this->assertSame($default, $client->getHttpClient()->getDefaultOption('headers'));
20 | }
21 |
22 | public function testFactoryWithCustomUserAgent()
23 | {
24 | $client = ClientFactory::factory([
25 | 'defaults' => [
26 | 'headers' => ['User-Agent' => 'test']
27 | ]
28 | ]);
29 | $default = ['User-Agent' => 'test'];
30 | $this->assertSame($default, $client->getHttpClient()->getDefaultOption('headers'));
31 | }
32 |
33 |
34 | public function testFactoryWithCustomDefaultNotInClassDefaults()
35 | {
36 | $client = ClientFactory::factory([
37 | 'defaults' => [
38 | 'headers' => ['User-Agent' => 'test'],
39 | 'query' => [
40 | 'key' => 'my-key',
41 | 'secret' => 'my-secret',
42 | ],
43 | ]
44 | ]);
45 | $default_headers = ['User-Agent' => 'test'];
46 | $default_query = [
47 | 'key' => 'my-key',
48 | 'secret' => 'my-secret'
49 | ];
50 | $this->assertSame($default_headers, $client->getHttpClient()->getDefaultOption('headers'));
51 | $this->assertSame($default_query, $client->getHttpClient()->getDefaultOption('query'));
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/tests/Discogs/Test/ClientTest.php:
--------------------------------------------------------------------------------
1 |
6 | *
7 | * For the full copyright and license information, please view the LICENSE
8 | * file that was distributed with this source code.
9 | */
10 |
11 | namespace Discogs\Test;
12 |
13 | use Discogs\ClientFactory;
14 | use GuzzleHttp\Subscriber\History;
15 | use GuzzleHttp\Subscriber\Mock;
16 |
17 | class ClientTest extends \PHPUnit_Framework_TestCase
18 | {
19 | public function testGetArtist()
20 | {
21 | $history = new History();
22 | $client = $this->createClient('get_artist', $history);
23 | $response = $client->getArtist([
24 | 'id' => 45
25 | ]);
26 | $this->assertSame($response['id'], 45);
27 | $this->assertSame($response['name'], 'Aphex Twin');
28 | $this->assertSame($response['realname'], 'Richard David James');
29 | $this->assertInternalType('array', $response['images']);
30 | $this->assertCount(9, $response['images']);
31 |
32 | $this->assertSame('https://api.discogs.com/artists/45', $history->getLastRequest()->getUrl());
33 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
34 | }
35 |
36 | public function testGetArtistReleases()
37 | {
38 | $history = new History();
39 | $client = $this->createClient('get_artist_releases', $history);
40 |
41 | $response = $client->getArtistReleases([
42 | 'id' => 45,
43 | 'per_page' => 50,
44 | 'page' => 1
45 | ]);
46 | $this->assertCount(50, $response['releases']);
47 | $this->assertArrayHasKey('pagination', $response);
48 | $this->assertArrayHasKey('per_page', $response['pagination']);
49 |
50 | $this->assertSame('https://api.discogs.com/artists/45/releases?per_page=50&page=1', $history->getLastRequest()->getUrl());
51 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
52 | }
53 |
54 | public function testSearch()
55 | {
56 | $history = new History();
57 | $client = $this->createClient('search', $history);
58 |
59 | $response = $client->search([
60 | 'q' => 'prodigy',
61 | 'type' => 'release',
62 | 'title' => 'the fat of the land',
63 | 'per_page' => 100,
64 | 'page' => 3
65 | ]);
66 | $this->assertCount(50, $response['results']);
67 | $this->assertArrayHasKey('pagination', $response);
68 | $this->assertArrayHasKey('per_page', $response['pagination']);
69 | $this->assertSame('https://api.discogs.com/database/search?q=prodigy&type=release&title=the%20fat%20of%20the%20land&per_page=100&page=3', $history->getLastRequest()->getUrl());
70 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
71 | }
72 |
73 | public function testGetRelease()
74 | {
75 | $history = new History();
76 | $client = $this->createClient('get_release', $history);
77 | $response = $client->getRelease([
78 | 'id' => 1,
79 | 'curr_abbr' => 'USD'
80 | ]);
81 |
82 | $this->assertLessThanOrEqual(8.077169493076712, $response['lowest_price']);
83 | $this->assertSame('Accepted', $response['status']);
84 | $this->assertArrayHasKey('videos', $response);
85 | $this->assertCount(6, $response['videos']);
86 | $this->assertSame('https://api.discogs.com/releases/1?curr_abbr=USD', $history->getLastRequest()->getUrl());
87 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
88 | }
89 |
90 | public function testGetMaster()
91 | {
92 | $history = new History();
93 | $client = $this->createClient('get_master', $history);
94 |
95 | $response = $client->getMaster([
96 | 'id' => 33687
97 | ]);
98 | $this->assertSame('O Fortuna', $response['title']);
99 | $this->assertArrayHasKey('tracklist', $response);
100 | $this->assertCount(2, $response['tracklist']);
101 | $this->assertSame('https://api.discogs.com/masters/33687', $history->getLastRequest()->getUrl());
102 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
103 | }
104 |
105 | public function testGetMasterVersions()
106 | {
107 | $history = new History();
108 | $client = $this->createClient('get_master_versions', $history);
109 |
110 | $response = $client->getMasterVersions([
111 | 'id' => 33687,
112 | 'per_page' => 4,
113 | 'page' => 2
114 | ]);
115 | $this->assertArrayHasKey('pagination', $response);
116 | $this->assertArrayHasKey('versions', $response);
117 | $this->assertCount(4, $response['versions']);
118 | $this->assertSame('https://api.discogs.com/masters/33687/versions?per_page=4&page=2', $history->getLastRequest()->getUrl());
119 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
120 | }
121 |
122 | public function testGetLabel()
123 | {
124 | $history = new History();
125 | $client = $this->createClient('get_label', $history);
126 | $response = $client->getLabel([
127 | 'id' => 1
128 | ]);
129 | $this->assertArrayHasKey('releases_url', $response);
130 | $this->assertSame('https://api.discogs.com/labels/1/releases', $response['releases_url']);
131 | $this->assertArrayHasKey('sublabels', $response);
132 | $this->assertCount(6, $response['sublabels']);
133 | $this->assertSame('https://api.discogs.com/labels/1', $history->getLastRequest()->getUrl());
134 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
135 | }
136 |
137 | public function testGetLabelReleases()
138 | {
139 | $history = new History();
140 | $client = $this->createClient('get_label_releases', $history);
141 | $response = $client->getLabelReleases([
142 | 'id' => 1,
143 | 'per_page' => 2,
144 | 'page' => 1
145 | ]);
146 |
147 | $this->assertArrayHasKey('pagination', $response);
148 | $this->assertArrayHasKey('releases', $response);
149 | $this->assertCount(2, $response['releases']);
150 | $this->assertSame('https://api.discogs.com/labels/1/releases?per_page=2&page=1', $history->getLastRequest()->getUrl());
151 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
152 | }
153 |
154 | public function testGetOAuthIdentity()
155 | {
156 | $history = new History();
157 | $client = $this->createClient('get_oauth_identity', $history);
158 | $response = $client->getOAuthIdentity();
159 |
160 | $this->assertSame($response['username'], 'R-Search');
161 | $this->assertSame($response['resource_url'], 'https://api.discogs.com/users/R-Search');
162 | $this->assertSame($response['consumer_name'], 'RicbraDiscogsBundle');
163 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
164 | }
165 |
166 | public function testGetProfile()
167 | {
168 | $history = new History();
169 | $client = $this->createClient('get_profile', $history);
170 | $response = $client->getProfile([
171 | 'username' => 'maxperei'
172 | ]);
173 |
174 | $this->assertEquals(200, $history->getLastResponse()->getStatusCode());
175 | $this->assertArrayHasKey('name', $response);
176 | $this->assertArrayHasKey('avatar_url', $response);
177 | $this->assertArrayHasKey('home_page', $response);
178 | $this->assertArrayNotHasKey('email', $response);
179 | $this->assertSame($response['name'], '∴');
180 | $this->assertSame($response['avatar_url'], 'https://img.discogs.com/mDaw_OUjHspYLj77C_tcobr2eXc=/500x500/filters:strip_icc():format(jpeg):quality(40)/discogs-avatars/U-1861520-1498224434.jpeg.jpg');
181 | $this->assertSame($response['home_page'], 'http://maxperei.info');
182 | $this->assertSame('https://api.discogs.com/users/maxperei', $history->getLastRequest()->getUrl());
183 | }
184 |
185 | public function testGetInventory()
186 | {
187 | $client = $this->createClient('get_inventory', $history = new History());
188 | $response = $client->getInventory([
189 | 'username' => '360vinyl',
190 | 'sort' => 'price',
191 | 'sort_order' => 'asc'
192 | ]);
193 |
194 | $this->assertArrayHasKey('pagination', $response);
195 | $this->assertArrayHasKey('listings', $response);
196 | $this->assertCount(50, $response['listings']);
197 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
198 | $this->assertSame('https://api.discogs.com/users/360vinyl/inventory?sort=price&sort_order=asc', $history->getLastRequest()->getUrl());
199 | }
200 |
201 | public function testGetOrders()
202 | {
203 | $client = $this->createClient('get_orders', $history = new History());
204 | $response = $client->getOrders([
205 | 'status' => 'New Order',
206 | 'sort' => 'price',
207 | 'sort_order' => 'asc'
208 | ]);
209 |
210 | $this->assertArrayHasKey('pagination', $response);
211 | $this->assertArrayHasKey('orders', $response);
212 | $this->assertCount(1, $response['orders']);
213 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
214 | $this->assertSame('https://api.discogs.com/marketplace/orders?status=New%20Order&sort=price&sort_order=asc', $history->getLastRequest()->getUrl());
215 | }
216 |
217 | public function testGetOrder()
218 | {
219 | $client = $this->createClient('get_order', $history = new History());
220 | $response = $client->getOrder([
221 | 'order_id' => '1-1'
222 | ]);
223 |
224 | $this->assertArrayHasKey('id', $response);
225 | $this->assertArrayHasKey('resource_url', $response);
226 | $this->assertArrayHasKey('messages_url', $response);
227 | $this->assertArrayHasKey('uri', $response);
228 | $this->assertArrayHasKey('status', $response);
229 | $this->assertArrayHasKey('next_status', $response);
230 | $this->assertArrayHasKey('fee', $response);
231 | $this->assertArrayHasKey('created', $response);
232 | $this->assertArrayHasKey('shipping', $response);
233 | $this->assertArrayHasKey('shipping_address', $response);
234 | $this->assertArrayHasKey('additional_instructions', $response);
235 | $this->assertArrayHasKey('seller', $response);
236 | $this->assertArrayHasKey('last_activity', $response);
237 | $this->assertArrayHasKey('buyer', $response);
238 | $this->assertArrayHasKey('total', $response);
239 | $this->assertCount(1, $response['items']);
240 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
241 | $this->assertSame('https://api.discogs.com/marketplace/orders/1-1', $history->getLastRequest()->getUrl());
242 | }
243 |
244 | public function testChangeOrder()
245 | {
246 | $client = $this->createClient('change_order', $history = new History());
247 | $response = $client->changeOrder([
248 | 'order_id' => '1-1',
249 | 'shipping' => 5.0
250 | ]);
251 |
252 | $this->assertSame('POST', $history->getLastRequest()->getMethod());
253 | $this->assertSame('https://api.discogs.com/marketplace/orders/1-1', $history->getLastRequest()->getUrl());
254 | }
255 |
256 | public function testAddOrderMessage()
257 | {
258 | $client = $this->createClient('add_order_message', $history = new History());
259 | $client->addOrderMessage([
260 | 'order_id' => '1-1',
261 | 'message' => 'hello world',
262 | 'status' => 'New Order'
263 | ]);
264 |
265 | $this->assertSame('POST', $history->getLastRequest()->getMethod());
266 | $this->assertSame('https://api.discogs.com/marketplace/orders/1-1/messages', $history->getLastRequest()->getUrl());
267 | }
268 |
269 | public function testGetListing()
270 | {
271 | $history = new History();
272 | $client = $this->createClient('get_listing', $history);
273 | $response = $client->getListing([
274 | 'listing_id' => 1,
275 | 'curr_abbr' => 'USD'
276 | ]);
277 |
278 | $this->assertFalse($response['allow_offers']);
279 | $this->assertSame('For Sale', $response['status']);
280 | $this->assertArrayHasKey('original_price', $response);
281 | $this->assertSame('https://api.discogs.com/marketplace/listings/1?curr_abbr=USD', $history->getLastRequest()->getUrl());
282 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
283 | }
284 |
285 | public function testCreateListingValidation(){
286 | $this->setExpectedException('GuzzleHttp\Command\Exception\CommandException', 'Validation errors: [status] is a required string');
287 | $client = $this->createClient('create_listing', $history = new History());
288 | $client->createListing([
289 | 'release_id' => '1',
290 | 'condition' => 'Mint (M)',
291 | 'price' => 5.90
292 | ]);
293 | }
294 |
295 | public function testCreateListing()
296 | {
297 | $client = $this->createClient('create_listing', $history = new History());
298 | $response = $client->createListing([
299 | 'release_id' => '1',
300 | 'condition' => 'Mint (M)',
301 | 'status' => 'For Sale',
302 | 'price' => 5.90
303 | ]);
304 |
305 | $this->assertSame('POST', $history->getLastRequest()->getMethod());
306 | $this->assertSame('https://api.discogs.com/marketplace/listings', $history->getLastRequest()->getUrl());
307 | }
308 |
309 | public function testChangeListing()
310 | {
311 | $client = $this->createClient('change_listing', $history = new History());
312 | $response = $client->changeListing([
313 | 'listing_id' => '1',
314 | 'release_id' => '1',
315 | 'condition' => 'Mint (M)',
316 | 'status' => 'For Sale',
317 | 'price' => 5.90
318 | ]);
319 |
320 | $this->assertSame('POST', $history->getLastRequest()->getMethod());
321 | $this->assertSame('https://api.discogs.com/marketplace/listings/1', $history->getLastRequest()->getUrl());
322 | }
323 |
324 | public function testDeleteListing()
325 | {
326 | $client = $this->createClient('delete_listing', $history = new History());
327 | $response = $client->deleteListing([
328 | 'listing_id' => '129242581'
329 | ]);
330 |
331 | $this->assertSame('DELETE', $history->getLastRequest()->getMethod());
332 | $this->assertSame('https://api.discogs.com/marketplace/listings/129242581', $history->getLastRequest()->getUrl());
333 | }
334 |
335 | public function testGetCollectionFolders()
336 | {
337 | $history = new History();
338 | $client = $this->createClient('get_collection_folders', $history);
339 | $response = $client->getCollectionFolders([
340 | 'username' => 'example'
341 | ]);
342 |
343 | $this->assertInternalType('array', $response['folders']);
344 | $this->assertCount(2, $response['folders']);
345 |
346 | $this->assertSame('https://api.discogs.com/users/example/collection/folders', $history->getLastRequest()->getUrl());
347 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
348 | }
349 |
350 | public function testGetCollectionFolder()
351 | {
352 | $history = new History();
353 | $client = $this->createClient('get_collection_folder', $history);
354 | $response = $client->getCollectionFolder([
355 | 'username' => 'example',
356 | 'folder_id' => 1
357 | ]);
358 |
359 | $this->assertSame($response['id'], 1);
360 | $this->assertSame($response['count'], 20);
361 | $this->assertSame($response['name'], 'Uncategorized');
362 | $this->assertSame($response['resource_url'], "https://api.discogs.com/users/example/collection/folders/1");
363 |
364 | $this->assertSame('https://api.discogs.com/users/example/collection/folders/1', $history->getLastRequest()->getUrl());
365 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
366 | }
367 |
368 | public function testGetCollectionItemsByFolder()
369 | {
370 | $history = new History();
371 | $client = $this->createClient('get_collection_items_by_folder', $history);
372 | $response = $client->getCollectionItemsByFolder([
373 | 'username' => 'rodneyfool',
374 | 'folder_id' => 3,
375 | 'sort' => 'artist',
376 | 'sort_order' => 'desc',
377 | 'per_page' => 50,
378 | 'page' => 1
379 | ]);
380 |
381 | $this->assertCount(1, $response['releases']);
382 | $this->assertArrayHasKey('pagination', $response);
383 | $this->assertArrayHasKey('per_page', $response['pagination']);
384 |
385 | $this->assertSame('https://api.discogs.com/users/rodneyfool/collection/folders/3/releases?per_page=50&page=1', $history->getLastRequest()->getUrl());
386 | $this->assertSame('GET', $history->getLastRequest()->getMethod());
387 | }
388 |
389 | protected function createClient($mock, History $history)
390 | {
391 | $path = sprintf('%s/../../fixtures/%s', __DIR__, $mock);
392 | $client = ClientFactory::factory();
393 | $httpClient = $client->getHttpClient();
394 | $mock = new Mock([
395 | $path
396 | ]);
397 | $httpClient->getEmitter()->attach($mock);
398 | $httpClient->getEmitter()->attach($history);
399 |
400 | return $client;
401 | }
402 | }
403 |
--------------------------------------------------------------------------------
/tests/Discogs/Test/Subscriber/ThrottleSubscriberTest.php:
--------------------------------------------------------------------------------
1 | getMock('GuzzleHttp\Event\CompleteEvent', [], [], '', false);
22 |
23 | $before = microtime(true);
24 | $subscriber->onComplete($mock);
25 | $subscriber->onComplete($mock);
26 | $after = microtime(true);
27 |
28 | $difference = $after - $before;
29 | // Should be at least 2 seconds
30 | $this->assertTrue($difference > 2);
31 | }
32 |
33 | public function testWithoutThrottle()
34 | {
35 | $throttle = 0;
36 | $subscriber = new ThrottleSubscriber($throttle);
37 |
38 | $mock = $this->getMock('GuzzleHttp\Event\CompleteEvent', [], [], '', false);
39 |
40 | $before = microtime(true);
41 | $subscriber->onComplete($mock);
42 | $subscriber->onComplete($mock);
43 | $after = microtime(true);
44 |
45 |
46 | $difference = $after - $before;
47 | // Should be at max 0.5 seconds on a very slow system, tricky to test
48 | $this->assertTrue($difference < 0.5);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/tests/bootstrap.php:
--------------------------------------------------------------------------------
1 |
6 | *
7 | * For the full copyright and license information, please view the LICENSE
8 | * file that was distributed with this source code.
9 | */
10 |
11 | require_once __DIR__.'/../vendor/autoload.php';
12 |
--------------------------------------------------------------------------------
/tests/fixtures/add_order_message:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 4875
8 | Date: Tue, 29 Jul 2014 19:35:39 GMT
9 | X-Varnish: 1931104915
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: close
13 |
14 | {
15 | "from": {
16 | "username": "example_seller",
17 | "resource_url": "https://api.discogs.com/users/example_seller"
18 | },
19 | "message": "Seller changed status from Payment Received to Shipped\n\nYour order is on its way, tracking number #foobarbaz!",
20 | "order": {
21 | "resource_url": "https://api.discogs.com/marketplace/orders/1-1",
22 | "id": "1-1"
23 | },
24 | "timestamp": "2011-11-18T15:32:42-07:00",
25 | "subject": "Discogs Order #1-1, Stockholm"
26 | }
--------------------------------------------------------------------------------
/tests/fixtures/change_listing:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/change_order:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {
15 | "id": "1-1",
16 | "resource_url": "https://api.discogs.com/marketplace/orders/1-1",
17 | "messages_url": "https://api.discogs.com/marketplace/orders/1-1/messages",
18 | "uri": "http://www.discogs.com/sell/order/1-1",
19 | "status": "Invoice Sent",
20 | "next_status": [
21 | "New Order",
22 | "Buyer Contacted",
23 | "Invoice Sent",
24 | "Payment Pending",
25 | "Payment Received",
26 | "Shipped",
27 | "Refund Sent",
28 | "Cancelled (Non-Paying Buyer)",
29 | "Cancelled (Item Unavailable)",
30 | "Cancelled (Per Buyer's Request)"
31 | ],
32 | "fee": {
33 | "currency": "USD",
34 | "value": 2.52
35 | },
36 | "created": "2011-10-21T09:25:17",
37 | "items": [
38 | {
39 | "release": {
40 | "id": 1,
41 | "description": "Persuader, The - Stockholm (2x12\")"
42 | },
43 | "price": {
44 | "currency": "USD",
45 | "value": 42.0
46 | },
47 | "id": 41578242
48 | }
49 | ],
50 | "shipping": {
51 | "currency": "USD",
52 | "value": 5.0
53 | },
54 | "shipping_address": "Asdf Exampleton\n234 NE Asdf St.\nAsdf Town, Oregon, 14423\nUnited States\n\nPhone: 555-555-2733\nPaypal address: asdf@example.com",
55 | "additional_instructions": "please use sturdy packaging.",
56 | "seller": {
57 | "resource_url": "https://api.discogs.com/users/example_seller",
58 | "username": "example_seller",
59 | "id": 1
60 | },
61 | "last_activity": "2011-10-22T19:18:53",
62 | "buyer": {
63 | "resource_url": "https://api.discogs.com/users/example_buyer",
64 | "username": "example_buyer",
65 | "id": 2
66 | },
67 | "total": {
68 | "currency": "USD",
69 | "value": 47.0
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/tests/fixtures/create_listing:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {
15 | "listing_id": 41578241,
16 | "resource_url": "https://api.discogs.com/marketplace/listings/41578241"
17 | }
--------------------------------------------------------------------------------
/tests/fixtures/delete_listing:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_artist:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 5103
8 | Date: Mon, 28 Jul 2014 18:40:39 GMT
9 | X-Varnish: 1913846781 1913780733
10 | Age: 259
11 | Via: 1.1 varnish
12 | Connection: close
13 |
14 | {"profile": "British electronic musician and composer (born August 18, 1971 in Limerick, Ireland).\r\nAfter having released a number of albums and EPs on Warp Records, Rephlex and other labels under many aliases, he gained more and more success from the mid-90s with releases such as \"Come to Daddy\" in 1997 (#36 on UK charts) and \"Windowlicker\" in 1999 (#16 on UK charts).\r\nIn 1991, he co-founded the label [l=Rephlex] with Grant Wilson-Claridge.\r\n", "realname": "Richard David James", "releases_url": "https://api.discogs.com/artists/45/releases", "name": "Aphex Twin", "uri": "http://www.discogs.com/artist/45-Aphex-Twin", "urls": ["http://www.drukqs.net/", "http://warp.net/records/aphex-twin", "http://www.littlebig-agency.net/artists/aphex-twin/", "http://www.facebook.com/aphextwinafx", "http://twitter.com/AphexTwin", "http://aphextwin.sandbag.uk.com/", "http://en.wikipedia.org/wiki/Aphex_twin", "http://www.whosampled.com/Aphex-Twin/", "http://soundcloud.com/aphex-twin-official", "http://www.youtube.com/user/soundofworldcontrol"], "images": [{"uri": "https://api.discogs.com/image/A-45-1176664580.jpeg", "height": 704, "width": 486, "resource_url": "https://api.discogs.com/image/A-45-1176664580.jpeg", "type": "primary", "uri150": "https://api.discogs.com/image/A-150-45-1176664580.jpeg"}, {"uri": "https://api.discogs.com/image/A-45-1347812770-2937.jpeg", "height": 665, "width": 500, "resource_url": "https://api.discogs.com/image/A-45-1347812770-2937.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1347812770-2937.jpeg"}, {"uri": "https://api.discogs.com/image/A-45-1209415630.jpeg", "height": 500, "width": 454, "resource_url": "https://api.discogs.com/image/A-45-1209415630.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1209415630.jpeg"}, {"uri": "https://api.discogs.com/image/A-45-1126949091.jpeg", "height": 600, "width": 416, "resource_url": "https://api.discogs.com/image/A-45-1126949091.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1126949091.jpeg"}, {"uri": "https://api.discogs.com/image/A-45-1126949071.jpeg", "height": 280, "width": 250, "resource_url": "https://api.discogs.com/image/A-45-1126949071.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1126949071.jpeg"}, {"uri": "https://api.discogs.com/image/A-45-1388347702-9375.png", "height": 324, "width": 500, "resource_url": "https://api.discogs.com/image/A-45-1388347702-9375.png", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1388347702-9375.png"}, {"uri": "https://api.discogs.com/image/A-45-1389288802-7408.png", "height": 366, "width": 274, "resource_url": "https://api.discogs.com/image/A-45-1389288802-7408.png", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1389288802-7408.png"}, {"uri": "https://api.discogs.com/image/A-45-1403892052-9961.jpeg", "height": 389, "width": 541, "resource_url": "https://api.discogs.com/image/A-45-1403892052-9961.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1403892052-9961.jpeg"}, {"uri": "https://api.discogs.com/image/A-45-1403892037-5712.jpeg", "height": 458, "width": 306, "resource_url": "https://api.discogs.com/image/A-45-1403892037-5712.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/A-150-45-1403892037-5712.jpeg"}], "resource_url": "https://api.discogs.com/artists/45", "aliases": [{"resource_url": "https://api.discogs.com/artists/42476", "id": 42476, "name": "Blue Calx (2)"}, {"resource_url": "https://api.discogs.com/artists/32985", "id": 32985, "name": "Bradley Strider"}, {"resource_url": "https://api.discogs.com/artists/803581", "id": 803581, "name": "Brian Tregaskin"}, {"resource_url": "https://api.discogs.com/artists/48", "id": 48, "name": "Caustic Window"}, {"resource_url": "https://api.discogs.com/artists/820", "id": 820, "name": "Dice Man, The"}, {"resource_url": "https://api.discogs.com/artists/46", "id": 46, "name": "GAK"}, {"resource_url": "https://api.discogs.com/artists/829972", "id": 829972, "name": "Karen Tregaskin"}, {"resource_url": "https://api.discogs.com/artists/3054120", "id": 3054120, "name": "Patrick Tregaskin"}, {"resource_url": "https://api.discogs.com/artists/1645212", "id": 1645212, "name": "PBoD"}, {"resource_url": "https://api.discogs.com/artists/2931", "id": 2931, "name": "Polygon Window"}, {"resource_url": "https://api.discogs.com/artists/599", "id": 599, "name": "Power-Pill"}, {"resource_url": "https://api.discogs.com/artists/37272", "id": 37272, "name": "Q-Chastic"}, {"resource_url": "https://api.discogs.com/artists/435132", "id": 435132, "name": "Richard D. James"}, {"resource_url": "https://api.discogs.com/artists/286337", "id": 286337, "name": "Smojphace"}, {"resource_url": "https://api.discogs.com/artists/3671244", "id": 3671244, "name": "Soit - P.P."}, {"resource_url": "https://api.discogs.com/artists/798219", "id": 798219, "name": "Tuss, The"}], "id": 45, "data_quality": "Correct", "namevariations": ["A-F-X Twin", "A.F.X.", "A.Twin", "AFX", "Apex Twin", "Aphex Twin, The", "Aphex Twins", "TheAphexTwin"]}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_artist_releases:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Link: ; rel="last", ; rel="next"
7 | Server: lighttpd
8 | Content-Length: 14241
9 | Date: Mon, 28 Jul 2014 19:37:05 GMT
10 | X-Varnish: 1914710838
11 | Age: 0
12 | Via: 1.1 varnish
13 | Connection: close
14 |
15 | {"pagination": {"per_page": 50, "items": 724, "page": 1, "urls": {"last": "https://api.discogs.com/artists/45/releases?per_page=50&page=15", "next": "https://api.discogs.com/artists/45/releases?per_page=50&page=2"}, "pages": 15}, "releases": [{"thumb": "https://api.discogs.com/image/R-150-63114-1148806222.jpeg", "artist": "Aphex Twin", "main_release": 63114, "title": "Analog Bubblebath Vol 2", "role": "Main", "year": 1991, "resource_url": "https://api.discogs.com/masters/258478", "type": "master", "id": 258478}, {"thumb": "https://api.discogs.com/image/R-150-13860-1145127015.jpeg", "artist": "Aphex Twin, The*", "main_release": 13860, "title": "Analogue Bubblebath", "role": "Main", "year": 1991, "resource_url": "https://api.discogs.com/masters/870", "type": "master", "id": 870}, {"thumb": "https://api.discogs.com/image/R-150-4690-1128776401.jpeg", "artist": "Aphex Twin, The*", "main_release": 4690, "title": "Digeridoo", "role": "Main", "year": 1992, "resource_url": "https://api.discogs.com/masters/604", "type": "master", "id": 604}, {"thumb": "https://api.discogs.com/image/R-150-32662-1221896955.jpeg", "artist": "Aphex Twin", "main_release": 32662, "title": "Selected Ambient Works 85-92", "role": "Main", "year": 1992, "resource_url": "https://api.discogs.com/masters/565", "type": "master", "id": 565}, {"thumb": "https://api.discogs.com/image/R-150-1788489-1243368400.jpeg", "artist": "Aphex Twin", "main_release": 1788489, "title": "Xylem Tube E.P.", "role": "Main", "year": 1992, "resource_url": "https://api.discogs.com/masters/984", "type": "master", "id": 984}, {"thumb": "https://api.discogs.com/image/R-150-28763-1203866990.jpeg", "artist": "AFX*", "main_release": 28763, "title": "Analogue Bubblebath Vol. 3", "role": "Main", "year": 1993, "resource_url": "https://api.discogs.com/masters/919", "type": "master", "id": 919}, {"thumb": "https://api.discogs.com/image/R-150-2133502-1353542406-9633.jpeg", "artist": "Aphex Twin", "main_release": 2133502, "title": "On", "role": "Main", "year": 1993, "resource_url": "https://api.discogs.com/masters/715", "type": "master", "id": 715}, {"thumb": "https://api.discogs.com/image/R-150-13102-1378424659-1271.jpeg", "artist": "AFX*", "main_release": 13102, "title": "Analogue Bubblebath 4", "role": "Main", "year": 1994, "resource_url": "https://api.discogs.com/masters/2429", "type": "master", "id": 2429}, {"thumb": "https://api.discogs.com/image/R-150-3636-1271625781.jpeg", "artist": "Aphex Twin", "main_release": 3636, "title": "Selected Ambient Works Volume II", "role": "Main", "year": 1994, "resource_url": "https://api.discogs.com/masters/481", "type": "master", "id": 481}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-15608-1232354476.jpeg", "title": "Words & Music", "format": "CD, Promo", "label": "Sire, Warner Bros. Records", "role": "Main", "year": 1994, "resource_url": "https://api.discogs.com/releases/15608", "artist": "Aphex Twin", "type": "release", "id": 15608}, {"thumb": "https://api.discogs.com/image/R-150-27129-1158407369.jpeg", "artist": "Aphex Twin", "main_release": 27129, "title": "...I Care Because You Do", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/masters/461", "type": "master", "id": 461}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-160224-001.jpg", "title": "Analogue Bubblebath 5", "format": "12\", W/Lbl, Promo", "label": "Rephlex", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/releases/160224", "artist": "AFX*", "type": "release", "id": 160224}, {"thumb": "https://api.discogs.com/image/R-150-62679-1148804897.jpeg", "artist": "Aphex Twin, The*", "main_release": 62679, "title": "Classics", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/masters/2482", "type": "master", "id": 2482}, {"status": "Accepted", "thumb": "https://api.discogs.com/images/spacer.gif", "title": "Donkey Rhubarb", "format": "12\", EP, Promo", "label": "Warp Records", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/releases/5889948", "artist": "Aphex Twin", "type": "release", "id": 5889948}, {"thumb": "https://api.discogs.com/image/R-150-3663-1235218369.jpeg", "artist": "Aphex Twin", "main_release": 3663, "title": "Donkey Rhubarb", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/masters/791", "type": "master", "id": 791}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-136-1158510598.jpeg", "title": "Hangable Auto Bulb EP", "format": "12\", EP, Ltd", "label": "Warp Records", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/releases/136", "artist": "AFX*", "type": "release", "id": 136}, {"thumb": "https://api.discogs.com/image/R-150-137-1163948503.jpeg", "artist": "AFX*", "main_release": 137, "title": "Hangable Auto Bulb EP.2", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/masters/4984", "type": "master", "id": 4984}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-182628-1365780969-9823.jpeg", "title": "In-Store Ambients", "format": "CD, Promo, Smplr, Comp", "label": "Warp Records, EastWest, Sire", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/releases/182628", "artist": "Aphex Twin / Black Dog, The", "type": "release", "id": 182628}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-202433-1144694890.jpeg", "title": "Raising The Titanic", "format": "12\", Promo", "label": "Point Music", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/releases/202433", "artist": "Aphex Twin / Gavin Bryars", "type": "release", "id": 202433}, {"thumb": "https://api.discogs.com/image/R-150-27983-1228338398.jpeg", "artist": "Aphex Twin", "main_release": 27983, "title": "Ventolin E.P", "role": "Main", "year": 1995, "resource_url": "https://api.discogs.com/masters/20524", "type": "master", "id": 20524}, {"thumb": "https://api.discogs.com/image/R-150-757-1169134962.jpeg", "artist": "Aphex Twin", "main_release": 757, "title": "\"Girl/Boy\" E.P.", "role": "Main", "year": 1996, "resource_url": "https://api.discogs.com/masters/2503", "type": "master", "id": 2503}, {"thumb": "https://api.discogs.com/image/R-150-62499-1233439583.jpeg", "artist": "Aphex Twin", "main_release": 62499, "title": "51/13 Aphex Singles Collection", "role": "Main", "year": 1996, "resource_url": "https://api.discogs.com/masters/2459", "type": "master", "id": 2459}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-3157006-1318364201.jpeg", "title": "Come To Daddy (8MM Huit Millim\u00e8tres Press Kit)", "format": "CD, Promo", "label": "Virgin France S.A.", "role": "Main", "year": 1996, "resource_url": "https://api.discogs.com/releases/3157006", "artist": "Aphex Twin", "type": "release", "id": 3157006}, {"thumb": "https://api.discogs.com/image/R-150-30849-1336914949-4168.jpeg", "artist": "Aphex Twin", "main_release": 30849, "title": "Richard D. James Album", "role": "Main", "year": 1996, "resource_url": "https://api.discogs.com/masters/510", "type": "master", "id": 510}, {"thumb": "https://api.discogs.com/image/R-150-29131-1100781969.jpg", "artist": "Mike Flowers Pops, The* Meets Aphex Twin, The*", "main_release": 29131, "title": "The Freebase Connection", "role": "Main", "year": 1996, "resource_url": "https://api.discogs.com/masters/118531", "type": "master", "id": 118531}, {"thumb": "https://api.discogs.com/image/R-150-97039-1162418223.jpeg", "artist": "AFX*", "main_release": 97039, "title": "Analogue Bubblebath Vol. 3.1", "role": "Main", "year": 1997, "resource_url": "https://api.discogs.com/masters/617160", "type": "master", "id": 617160}, {"thumb": "https://api.discogs.com/image/R-150-52184-1301342800.jpeg", "artist": "Aphex Twin", "main_release": 52184, "title": "Come To Daddy", "role": "Main", "year": 1997, "resource_url": "https://api.discogs.com/masters/27457", "type": "master", "id": 27457}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-2756969-1299652845.jpeg", "title": "Come To Daddy (Director's Cut)", "format": "VHS, NTSC, Promo", "label": "Sire Records Company", "role": "Main", "year": 1997, "resource_url": "https://api.discogs.com/releases/2756969", "artist": "Aphex Twin", "type": "release", "id": 2756969}, {"thumb": "https://api.discogs.com/image/R-150-76381-1224235531.jpeg", "artist": "Aphex Twin", "main_release": 76381, "title": "Come To Viddy", "role": "Main", "year": 1997, "resource_url": "https://api.discogs.com/masters/12991", "type": "master", "id": 12991}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-798311-1179765223.jpeg", "title": "Inkey$", "format": "CD, Single, Promo", "label": "Warp Records, Source", "role": "Main", "year": 1998, "resource_url": "https://api.discogs.com/releases/798311", "artist": "Aphex Twin", "type": "release", "id": 798311}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-839805-1164133158.jpeg", "title": "Sugar Daddy / Come To Daddy", "format": "VHS, SECAM, Promo", "label": "Source, Warp Records", "role": "Main", "year": 1998, "resource_url": "https://api.discogs.com/releases/839805", "artist": "Jimi Tenor / Aphex Twin", "type": "release", "id": 839805}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-611166-1161158760.jpeg", "title": "Special Sampler", "format": "CD, Maxi, Promo, Smplr", "label": "WEA", "role": "Main", "year": 1999, "resource_url": "https://api.discogs.com/releases/611166", "artist": "Aphex Twin", "type": "release", "id": 611166}, {"thumb": "https://api.discogs.com/image/R-150-19290-1272803726.jpeg", "artist": "Aphex Twin", "main_release": 19290, "title": "Windowlicker", "role": "Main", "year": 1999, "resource_url": "https://api.discogs.com/masters/532", "type": "master", "id": 532}, {"thumb": "https://api.discogs.com/image/R-150-8433-1197641847.jpeg", "artist": "AFX*", "main_release": 8433, "title": "2 Remixes By AFX", "role": "Main", "year": 2001, "resource_url": "https://api.discogs.com/masters/2408", "type": "master", "id": 2408}, {"thumb": "https://api.discogs.com/image/R-150-123948-1107088837.jpg", "artist": "Aphex Twin", "main_release": 123948, "title": "Drukqs", "role": "Main", "year": 2001, "resource_url": "https://api.discogs.com/masters/281813", "type": "master", "id": 281813}, {"thumb": "https://api.discogs.com/image/R-150-13965-1249315114.jpeg", "artist": "Aphex Twin", "main_release": 13965, "title": "Drukqs", "role": "Main", "year": 2001, "resource_url": "https://api.discogs.com/masters/497", "type": "master", "id": 497}, {"thumb": "https://api.discogs.com/image/R-150-16980-1228269629.jpeg", "artist": "Aphex Twin", "main_release": 16980, "title": "Drukqs 2 Track Promo", "role": "Main", "year": 2001, "resource_url": "https://api.discogs.com/masters/27144", "type": "master", "id": 27144}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-1692451-1354536855-8321.jpeg", "title": "Sound Aphex", "format": "CD, Promo, Comp, Car", "label": "Chrysalis", "role": "Main", "year": 2001, "resource_url": "https://api.discogs.com/releases/1692451", "artist": "Aphex Twin", "type": "release", "id": 1692451}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-194780-001.jpg", "title": "2 Mixes On A 12\" For Cash", "format": "12\"", "label": "Beat Records", "role": "Main", "year": 2003, "resource_url": "https://api.discogs.com/releases/194780", "artist": "Aphex Twin", "type": "release", "id": 194780}, {"thumb": "https://api.discogs.com/image/R-150-127710-1245269123.jpeg", "artist": "Aphex Twin", "main_release": 127710, "title": "26 Mixes For Cash", "role": "Main", "year": 2003, "resource_url": "https://api.discogs.com/masters/836", "type": "master", "id": 836}, {"thumb": "https://api.discogs.com/image/R-150-154004-003.jpg", "artist": "AFX*", "main_release": 154004, "title": "Smojphace EP", "role": "Main", "year": 2003, "resource_url": "https://api.discogs.com/masters/9735", "type": "master", "id": 9735}, {"thumb": "https://api.discogs.com/image/R-150-385638-1165171889.jpeg", "artist": "AFX*", "main_release": 385638, "title": "Analord 01", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210429", "type": "master", "id": 210429}, {"thumb": "https://api.discogs.com/image/R-150-385640-1165172024.jpeg", "artist": "AFX*", "main_release": 385640, "title": "Analord 02", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210499", "type": "master", "id": 210499}, {"thumb": "https://api.discogs.com/image/R-150-400077-1165172084.jpeg", "artist": "AFX*", "main_release": 400077, "title": "Analord 03", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210501", "type": "master", "id": 210501}, {"thumb": "https://api.discogs.com/image/R-150-398345-1165172133.jpeg", "artist": "AFX*", "main_release": 398345, "title": "Analord 04", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210510", "type": "master", "id": 210510}, {"thumb": "https://api.discogs.com/image/R-150-415851-1165172195.jpeg", "artist": "AFX*", "main_release": 415851, "title": "Analord 05", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210511", "type": "master", "id": 210511}, {"thumb": "https://api.discogs.com/image/R-150-428328-1165172256.jpeg", "artist": "AFX*", "main_release": 428328, "title": "Analord 06", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210512", "type": "master", "id": 210512}, {"thumb": "https://api.discogs.com/image/R-150-444484-1165172313.jpeg", "artist": "AFX*", "main_release": 444484, "title": "Analord 07", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210514", "type": "master", "id": 210514}, {"thumb": "https://api.discogs.com/image/R-150-451034-1165172382.jpeg", "artist": "AFX*", "main_release": 451034, "title": "Analord 08", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210515", "type": "master", "id": 210515}, {"thumb": "https://api.discogs.com/image/R-150-466787-1165172488.jpeg", "artist": "AFX*", "main_release": 466787, "title": "Analord 09", "role": "Main", "year": 2005, "resource_url": "https://api.discogs.com/masters/210517", "type": "master", "id": 210517}]}
16 |
--------------------------------------------------------------------------------
/tests/fixtures/get_collection_folder:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 132
8 | Date: Wed, 16 Jul 2014 23:20:21 GMT
9 | X-Varnish: 1722533701
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {"id":1,"count":20,"name":"Uncategorized","resource_url":"https://api.discogs.com/users/example/collection/folders/1"}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_collection_folders:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 132
8 | Date: Wed, 16 Jul 2014 23:20:21 GMT
9 | X-Varnish: 1722533701
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {"folders":[{"id":0,"count":23,"name":"All","resource_url":"https://api.discogs.com/users/example/collection/folders/0"},{"id":1,"count":20,"name":"Uncategorized","resource_url":"https://api.discogs.com/users/example/collection/folders/1"}]}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_collection_items_by_folder:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 132
8 | Date: Wed, 16 Jul 2014 23:20:21 GMT
9 | X-Varnish: 1722533701
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {"pagination":{"per_page":1,"pages":14,"page":1,"items":14,"urls":{"next":"https://api.discogs.com/users/example/collection/folders/1/releases?page=2&per_page=1","last":"https://api.discogs.com/users/example/collection/folders/1/releases?page=2&per_page=14"}},"releases":[{"id":2464521,"instance_id":1,"folder_id":1,"rating":0,"basic_information":{"id":2464521,"title":"Information Chase","year":2006,"resource_url":"https://api.discogs.com/releases/2464521","thumb":"https://api-img.discogs.com/vzpYq4_kc52GZFs14c0SCJ0ZE84=/fit-in/150x150/filters:strip_icc():format(jpeg):mode_rgb()/discogs-images/R-2464521-1285519861.jpeg.jpg","cover_image":"https://api-img.discogs.com/vzpYq4_kc52GZFs14c0SCJ0ZE84/fit-in/500x500/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-2464521-1285519861.jpeg.jpg","formats":[{"qty":"1","descriptions":["Mini","EP"],"name":"CDr"}],"labels":[{"resource_url":"https://api.discogs.com/labels/11647","entity_type":"","catno":"8BP059","id":11647,"name":"8bitpeoples"}],"artists":[{"id":103906,"name":"Bit Shifter","join":"","resource_url":"https://api.discogs.com/artists/103906","anv":"","tracks":"","role":""}]},"notes":[{"field_id":3,"value":"bleep bloop blorp."}]}]}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_inventory:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Link: ; rel="last", ; rel="next"
7 | Server: lighttpd
8 | Content-Length: 37813
9 | Date: Mon, 04 Aug 2014 19:03:15 GMT
10 | X-Varnish: 2033294582
11 | Age: 0
12 | Via: 1.1 varnish
13 | Connection: keep-alive
14 |
15 | {"pagination": {"per_page": 50, "items": 479, "page": 1, "urls": {"last": "https://api.discogs.com/users/360vinyl/inventory?sort=price&per_page=50&sort_order=asc&page=10", "next": "https://api.discogs.com/users/360vinyl/inventory?sort=price&per_page=50&sort_order=asc&page=2"}, "pages": 10}, "listings": [{"status": "For Sale", "price": {"currency": "USD", "value": 2.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 129242581, "condition": "Very Good Plus (VG+)", "posted": "2013-11-20T14:26:16", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/129242581", "comments": "Plain white sleeve. Nice, clean vinyl.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "SBEST34", "resource_url": "https://api.discogs.com/releases/732194", "year": 2006, "id": 732194, "description": "Max Sedgley - Slowly (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/129242581", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 147577874, "condition": "Very Good Plus (VG+)", "posted": "2014-03-08T17:09:34", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/147577874", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "FB 2533", "resource_url": "https://api.discogs.com/releases/1249107", "year": 2008, "id": 1249107, "description": "Akrobatik - Put Ya Stamp On It (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/147577874", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 16855160, "condition": "Mint (M)", "posted": "2011-09-28T11:26:46", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/16855160", "comments": "BRAND NEW, STILL FACTORY SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "QP 069", "resource_url": "https://api.discogs.com/releases/652625", "year": 2005, "id": 652625, "description": "Apsci - See That / Bike Messenger Diaries (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/16855160", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 152754569, "condition": "Very Good Plus (VG+)", "posted": "2014-04-05T18:37:26", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/152754569", "comments": "Very nice, clean vinyl. Minor shelf wear to sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "TFBA-001", "resource_url": "https://api.discogs.com/releases/1117685", "year": 2004, "id": 1117685, "description": "Beat Assailant - Hard Twelve - The Ante (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/152754569", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 59217929, "condition": "Very Good Plus (VG+)", "posted": "2012-04-11T18:14:57", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/59217929", "comments": "Sticker residue at top right corner of sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "ACC006", "resource_url": "https://api.discogs.com/releases/726988", "year": 2004, "id": 726988, "description": "Bicasso - Respect Yourself / For Rent / Let's Begin (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/59217929", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 60302175, "condition": "Mint (M)", "posted": "2012-04-25T13:16:30", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/60302175", "comments": "STILL FACTORY SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "INF 001 TLG-CD-001", "resource_url": "https://api.discogs.com/releases/1308055", "year": 2007, "id": 1308055, "description": "Bouncer Crew - Xtasy For Ladies (CD, Album)"}, "resource_url": "https://api.discogs.com/marketplace/listings/60302175", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 129243050, "condition": "Very Good Plus (VG+)", "posted": "2013-11-20T14:42:32", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/129243050", "comments": "Plain black sleeve. Very nice, clean vinyl. BPMs written in small numerals on center labels.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "CPV 0400", "resource_url": "https://api.discogs.com/releases/997074", "year": 2006, "id": 997074, "description": "Chimp Beams - R2 (Libyus Mix) (12\", EP)"}, "resource_url": "https://api.discogs.com/marketplace/listings/129243050", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 38196213, "condition": "Very Good Plus (VG+)", "posted": "2011-06-11T14:22:57", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/38196213", "comments": "Nice, clean vinyl.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "INT 8 85622 6, 7243 8 85622 6 3", "resource_url": "https://api.discogs.com/releases/1239638", "year": 1998, "id": 1239638, "description": "Cornershop - Sleep On The Left Side (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/38196213", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Mint (M)", "id": 22048701, "condition": "Mint (M)", "posted": "2010-04-14T13:45:36", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/22048701", "comments": "STILL FACTORY SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "UR12 031", "resource_url": "https://api.discogs.com/releases/98220", "year": 0, "id": 98220, "description": "DJs Wally & Swingsett / Bobby Matos - Righteous Like A Brother (DJ's Wally & Swingsett Remix) / Guiro Electro (Rainer Tr\u00fcby Trio Remix) (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/22048701", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 127085013, "condition": "Very Good Plus (VG+)", "posted": "2013-11-07T12:29:49", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/127085013", "comments": "Placeholder sticker on one center label.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "STH 2051", "resource_url": "https://api.discogs.com/releases/102572", "year": 2002, "id": 102572, "description": "Dooley O - Watch My Moves 1990 (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/127085013", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 129025901, "condition": "Very Good Plus (VG+)", "posted": "2013-11-19T11:43:54", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/129025901", "comments": "In generic Citrona sleeve. BPMs written in small numerals on center labels.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "CIT-006", "resource_url": "https://api.discogs.com/releases/417926", "year": 2005, "id": 417926, "description": "First Floor Brothers, The - Chi-Town Strut (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/129025901", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 20810838, "condition": "Mint (M)", "posted": "2011-09-28T11:35:01", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/20810838", "comments": "STILL SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "LKR004", "resource_url": "https://api.discogs.com/releases/394740", "year": 2003, "id": 394740, "description": "Foreign Legion (2) - Roommate Joint (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/20810838", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 127234518, "condition": "Very Good Plus (VG+)", "posted": "2013-11-08T16:41:15", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/127234518", "comments": "One light surface mark across side B. This mark does not effect playback.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "JJR 1006", "resource_url": "https://api.discogs.com/releases/985430", "year": 2006, "id": 985430, "description": "Frank-N-Dank - What Up / The Hustle (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/127234518", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 34739072, "condition": "Very Good Plus (VG+)", "posted": "2014-02-14T12:53:14", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/34739072", "comments": "Very nice, clean copy. Just a touch away from NM. Plain white paper sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "RAMP020", "resource_url": "https://api.discogs.com/releases/2007688", "year": 2009, "id": 2007688, "description": "Hot City - Hot City Bass (10\", W/Lbl)"}, "resource_url": "https://api.discogs.com/marketplace/listings/34739072", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Near Mint (NM or M-)", "id": 57194290, "condition": "Near Mint (NM or M-)", "posted": "2012-03-21T15:50:31", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/57194290", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "SCH 004", "resource_url": "https://api.discogs.com/releases/1624293", "year": 1997, "id": 1624293, "description": "Jeswa - Skone (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/57194290", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 131311242, "condition": "Very Good (VG)", "posted": "2013-12-03T14:02:50", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/131311242", "comments": "Plain black sleeve. Surface wear, mainly cosmetic. VG in appearance, play quality is VG+", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "GAMM004", "resource_url": "https://api.discogs.com/releases/296052", "year": 2004, "id": 296052, "description": "Johnny Darkos - Supreme Love (12\", Promo)"}, "resource_url": "https://api.discogs.com/marketplace/listings/131311242", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 37431871, "condition": "Very Good Plus (VG+)", "posted": "2011-05-25T14:27:01", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/37431871", "comments": "BPM written on side A center label.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "WMR001", "resource_url": "https://api.discogs.com/releases/1027286", "year": 2007, "id": 1027286, "description": "Keno 1* & Hermit, The - Poppa Heavy (12\", Promo)"}, "resource_url": "https://api.discogs.com/marketplace/listings/37431871", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 133996557, "condition": "Mint (M)", "posted": "2013-12-19T19:19:18", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/133996557", "comments": "BRAND NEW, STILL FACTORY SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "DBM001", "resource_url": "https://api.discogs.com/releases/2303699", "year": 2010, "id": 2303699, "description": "Kev Brown - Random Joints (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/133996557", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 38365680, "condition": "Very Good Plus (VG+)", "posted": "2011-06-15T19:00:55", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/38365680", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "CAS 8924-S1, XSS 8924", "resource_url": "https://api.discogs.com/releases/1398608", "year": 1997, "id": 1398608, "description": "Kulcha Don Featuring Fugees - Bellevue \"Da Bomb\" (12\", Promo)"}, "resource_url": "https://api.discogs.com/marketplace/listings/38365680", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 113607427, "condition": "Very Good Plus (VG+)", "posted": "2013-08-15T17:47:16", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/113607427", "comments": "In original shrink wrap.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "OH 227 SV", "resource_url": "https://api.discogs.com/releases/1003585", "year": 2006, "id": 1003585, "description": "Ladybug Mecca - Dogg Starr (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/113607427", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 65294948, "condition": "Very Good Plus (VG+)", "posted": "2012-06-20T12:51:25", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/65294948", "comments": "Placeholder sticker on each center label.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "QP 0079-0", "resource_url": "https://api.discogs.com/releases/1138004", "year": 2007, "id": 1138004, "description": "Lifesavas - Gutterfly / A Serpent's Love (12\", Maxi)"}, "resource_url": "https://api.discogs.com/marketplace/listings/65294948", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 149030188, "condition": "Very Good Plus (VG+)", "posted": "2014-03-17T19:42:05", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/149030188", "comments": "Light wear, plays fine. 3\u201d x 1.5\u201d sticker from distribution company on front of sleeve. Small bend to top right sleeve corner.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "FC12015", "resource_url": "https://api.discogs.com/releases/256835", "year": 2004, "id": 256835, "description": "Little Brother (3), J. Sands, Ambersunshower - Hip Hop Love Soul Sampler 2 (12\", Promo)"}, "resource_url": "https://api.discogs.com/marketplace/listings/149030188", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 69281186, "condition": "Very Good Plus (VG+)", "posted": "2012-07-25T17:09:35", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/69281186", "comments": "Plain black sleeve. Nice, clean copy! Removable price tag on center label.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "VPRD-5221, none", "resource_url": "https://api.discogs.com/releases/3410917", "year": 1993, "id": 3410917, "description": "Louchie Lou & Michie One - Rich Girl (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/69281186", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good (VG)", "id": 16979011, "condition": "Near Mint (NM or M-)", "posted": "2014-02-14T14:11:03", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/16979011", "comments": "Bottom left and top right corners of sleeve has bends.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "PJMS0062", "resource_url": "https://api.discogs.com/releases/99605", "year": 2002, "id": 99605, "description": "Mousse T. Feat. Emma Lanford - Fire (2x12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/16979011", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 14794971, "condition": "Very Good Plus (VG+)", "posted": "2009-10-10T14:32:11", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/14794971", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "bd012", "resource_url": "https://api.discogs.com/releases/205641", "year": 1999, "id": 205641, "description": "New Flesh For Old - Eye Of The Hurricane (12\", Single)"}, "resource_url": "https://api.discogs.com/marketplace/listings/14794971", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 127556691, "condition": "Very Good Plus (VG+)", "posted": "2013-11-11T16:57:25", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/127556691", "comments": "BPM's written in small numerals on center labels.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "S0R0010", "resource_url": "https://api.discogs.com/releases/858981", "year": 2006, "id": 858981, "description": "Nick Andre + E Da Boss / DJ Enki - The Singles (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/127556691", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 43776266, "condition": "Very Good Plus (VG+)", "posted": "2011-09-20T13:15:14", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/43776266", "comments": "Side A has one very light surface mark that does not effect playback. Side B = NM. 3 spots of dry sticker residue near top right corner of sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "CWR12002", "resource_url": "https://api.discogs.com/releases/1706531", "year": 2004, "id": 1706531, "description": "Nine:Fifteen - Deluxe Laminated (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/43776266", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 24978380, "condition": "Very Good Plus (VG+)", "posted": "2010-06-29T11:24:43", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/24978380", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "GFS-100-1", "resource_url": "https://api.discogs.com/releases/242274", "year": 2003, "id": 242274, "description": "Paris (2) - FNB / Evil (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/24978380", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 73855107, "condition": "Very Good Plus (VG+)", "posted": "2012-09-11T12:53:11", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/73855107", "comments": "Very nice, clean copy! BPM sticker on sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "36295-0", "resource_url": "https://api.discogs.com/releases/1623302", "year": 2007, "id": 1623302, "description": "Politik, The - Moonlight (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/73855107", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 122751128, "condition": "Very Good Plus (VG+)", "posted": "2013-10-09T15:14:26", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/122751128", "comments": "A few light hairline marks that do not effect playback. In original stickered sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "G4120011", "resource_url": "https://api.discogs.com/releases/477800", "year": 2001, "id": 477800, "description": "Qwel - Face Value (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/122751128", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 151533587, "condition": "Very Good Plus (VG+)", "posted": "2014-03-30T17:49:08", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/151533587", "comments": "Nice, clean vinyl and sleeve. Price tag on sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "OM 048EP", "resource_url": "https://api.discogs.com/releases/1140912", "year": 2000, "id": 1140912, "description": "Radar (2) - Antimatter (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/151533587", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 118549111, "condition": "Very Good Plus (VG+)", "posted": "2013-09-16T17:23:49", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/118549111", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "TR396-045", "resource_url": "https://api.discogs.com/releases/1432961", "year": 2008, "id": 1432961, "description": "Shawn Jackson (2) - Feelin' Jack (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/118549111", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 118548785, "condition": "Very Good Plus (VG+)", "posted": "2013-09-16T17:05:13", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/118548785", "comments": "Comes in plain clear plastic sleeve. Bottom center of sleeve has split.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "TR396-053", "resource_url": "https://api.discogs.com/releases/1634440", "year": 2009, "id": 1634440, "description": "Shawn Jackson (2) - Maan Up! (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/118548785", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 148368100, "condition": "Very Good Plus (VG+)", "posted": "2014-03-12T19:39:09", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/148368100", "comments": "Plain black sleeve. Very nice, clean vinyl, close to NM. Price tag on one center label.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "ORO9992", "resource_url": "https://api.discogs.com/releases/766962", "year": 2000, "id": 766962, "description": "Sunspot Jonz - Unleashed (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/148368100", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 124841742, "condition": "Very Good Plus (VG+)", "posted": "2013-10-23T15:15:52", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/124841742", "comments": "One series of surface marks that look to be the result of the manufacturing process. These marks do not effect playback. Removable price tag on one center label. Plain black sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "VPRD 6365", "resource_url": "https://api.discogs.com/releases/1664807", "year": 2000, "id": 1664807, "description": "Devonte & Tanto Metro* / Beenie Man - Say Wodee / Bookshelf (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/124841742", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 33275280, "condition": "Mint (M)", "posted": "2011-02-16T14:20:59", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/33275280", "comments": "Unplayed.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "ag104", "resource_url": "https://api.discogs.com/releases/313857", "year": 2000, "id": 313857, "description": "Textile Ranch - The Dream Of The Murderer's Ship Pulling Out (7\", Whi)"}, "resource_url": "https://api.discogs.com/marketplace/listings/33275280", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 127234714, "condition": "Very Good Plus (VG+)", "posted": "2013-11-08T16:55:30", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/127234714", "comments": "Plain white sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "AV 432, SSR 1017", "resource_url": "https://api.discogs.com/releases/673167", "year": 2004, "id": 673167, "description": "Theodore Unit - Who We Are (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/127234714", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 63095779, "condition": "Very Good Plus (VG+)", "posted": "2012-05-25T14:05:14", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/63095779", "comments": "Price tag on sleeve.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "SUN 444", "resource_url": "https://api.discogs.com/releases/518122", "year": 1986, "id": 518122, "description": "Vicious Rumor Club, The* - Rumor Rap (Yeah, Yeah That's It) (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/63095779", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 3.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 131301578, "condition": "Very Good Plus (VG+)", "posted": "2013-12-03T13:32:19", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/131301578", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "NSD-16", "resource_url": "https://api.discogs.com/releases/589260", "year": 2005, "id": 589260, "description": "Vordul Mega - Believe / Stay Up / Hard Times Pt. 2 (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/131301578", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.98}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 111502317, "condition": "Mint (M)", "posted": "2013-07-30T14:35:58", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/111502317", "comments": "BRAND NEW, UNPLAYED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "STH7030", "resource_url": "https://api.discogs.com/releases/1841411", "year": 2009, "id": 1841411, "description": "Koushik - Nothing's The Same (7\", Single)"}, "resource_url": "https://api.discogs.com/marketplace/listings/111502317", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Mint (M)", "id": 20988399, "condition": "Mint (M)", "posted": "2010-08-05T13:50:50", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/20988399", "comments": "STILL FACTORY SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "GCR 7056-1", "resource_url": "https://api.discogs.com/releases/509363", "year": 2001, "id": 509363, "description": "Aceyalone - Microphones / Keep Rappin' & Spinnin' (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/20988399", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 44564812, "condition": "Very Good Plus (VG+)", "posted": "2014-02-14T14:59:56", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/44564812", "comments": "Original printed inner sleeve included.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "MSB-6593", "resource_url": "https://api.discogs.com/releases/2766992", "year": 1978, "id": 2766992, "description": "B.J. Thomas - Happy Man (LP)"}, "resource_url": "https://api.discogs.com/marketplace/listings/44564812", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 27124744, "condition": "Very Good Plus (VG+)", "posted": "2014-02-13T22:04:44", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/27124744", "comments": "Writing on one center label.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "RT 9401", "resource_url": "https://api.discogs.com/releases/1610543", "year": 1990, "id": 1610543, "description": "Bad Boy Posse - Break North / Gimme The Mic (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/27124744", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 120908773, "condition": "Very Good Plus (VG+)", "posted": "2013-09-28T12:53:20", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/120908773", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "ASW1003", "resource_url": "https://api.discogs.com/releases/1140129", "year": 2007, "id": 1140129, "description": "Buff1 - Pretty Baby / SUPREME (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/120908773", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 75818257, "condition": "Very Good Plus (VG+)", "posted": "2014-02-14T12:04:59", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/75818257", "comments": "Nice, clean vinyl.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "RAW015", "resource_url": "https://api.discogs.com/releases/1755293", "year": 2009, "id": 1755293, "description": "Ciara (2) Feat Justin Timberlake - Love Sex Magic (House Remixes) (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/75818257", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Generic", "id": 127559780, "condition": "Very Good Plus (VG+)", "posted": "2013-11-11T19:49:24", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/127559780", "comments": "Plain white sleeve. Very nice, clean vinyl. BPM's written in small numerals on center labels.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "AFA-FW10", "resource_url": "https://api.discogs.com/releases/924627", "year": 2006, "id": 924627, "description": "Dr. Delay* - Rule Of Thumb (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/127559780", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 11557024, "condition": "Very Good Plus (VG+)", "posted": "2014-02-14T12:33:19", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/11557024", "comments": "Nice, clean vinyl. Tiny notch cut on sleeve. Original shrink wrap with sticker still intact.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "0-66305", "resource_url": "https://api.discogs.com/releases/64382", "year": 1993, "id": 64382, "description": "Ethyl Meatplow - Queenie (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/11557024", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Not Graded", "id": 20810805, "condition": "Mint (M)", "posted": "2010-03-13T14:36:31", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/20810805", "comments": "BRAND NEW, STILL FACTORY SEALED.", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "CDE 0010-1", "resource_url": "https://api.discogs.com/releases/150907", "year": 2003, "id": 150907, "description": "Fakts One - The Show Starter / Life Music / We Gonna... (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/20810805", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 151438387, "condition": "Near Mint (NM or M-)", "posted": "2014-03-29T16:52:55", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/151438387", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "LKR002", "resource_url": "https://api.discogs.com/releases/693318", "year": 2002, "id": 693318, "description": "Foreign Legion (2) - Voodoo Star (12\")"}, "resource_url": "https://api.discogs.com/marketplace/listings/151438387", "audio": false}, {"status": "For Sale", "price": {"currency": "USD", "value": 4.99}, "allow_offers": false, "sleeve_condition": "Very Good Plus (VG+)", "id": 118549560, "condition": "Very Good Plus (VG+)", "posted": "2013-09-16T17:54:23", "ships_from": "United States", "uri": "http://www.discogs.com/sell/item/118549560", "comments": "", "seller": {"username": "360Vinyl", "resource_url": "https://api.discogs.com/users/360Vinyl", "id": 493556}, "release": {"catalog_number": "EMERG01", "resource_url": "https://api.discogs.com/releases/1335498", "year": 2008, "id": 1335498, "description": "Invincible (2) - ShapeShifters / Keep Goin' / No Easy Answers (12\", Single)"}, "resource_url": "https://api.discogs.com/marketplace/listings/118549560", "audio": false}]}
16 |
--------------------------------------------------------------------------------
/tests/fixtures/get_label:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 3140
8 | Date: Tue, 29 Jul 2014 19:51:16 GMT
9 | X-Varnish: 1931344079 1931343140
10 | Age: 4
11 | Via: 1.1 varnish
12 | Connection: close
13 |
14 | {"profile": "Classic Techno label from Detroit, USA.\r\n[b]Label owner:[/b] [a=Carl Craig].\r\n", "releases_url": "https://api.discogs.com/labels/1/releases", "name": "Planet E", "contact_info": "Planet E Communications\r\nP.O. Box 27218\r\nDetroit, 48227, USA\r\n\r\np: 313.874.8729 \r\nf: 313.874.8732\r\n\r\nemail: info AT Planet-e DOT net\r\n", "uri": "http://www.discogs.com/label/1-Planet-E", "sublabels": [{"resource_url": "https://api.discogs.com/labels/86537", "id": 86537, "name": "Antidote (4)"}, {"resource_url": "https://api.discogs.com/labels/41841", "id": 41841, "name": "Community Projects"}, {"resource_url": "https://api.discogs.com/labels/153760", "id": 153760, "name": "Guilty Pleasures"}, {"resource_url": "https://api.discogs.com/labels/31405", "id": 31405, "name": "I Ner Zon Sounds"}, {"resource_url": "https://api.discogs.com/labels/294738", "id": 294738, "name": "Planet E Communications, Inc."}, {"resource_url": "https://api.discogs.com/labels/488315", "id": 488315, "name": "TWPENTY"}], "urls": ["http://planet-e.net/", "http://www.facebook.com/planetedetroit", "http://twitter.com/planetedetroit", "http://www.flickr.com/photos/planetedetroit/", "http://myspace.com/planetedetroit", "http://myspace.com/planetecom", "http://plus.google.com/100841702106447505236", "http://www.discogs.com/user/planetedetroit", "http://en.wikipedia.org/wiki/Planet_E_Communications", "http://soundcloud.com/planetedetroit", "http://planetecommunications.bandcamp.com/", "http://www.youtube.com/user/planetedetroit", "http://vimeo.com/user1265384"], "images": [{"uri": "https://api.discogs.com/image/L-1-1111053865.png", "height": 24, "width": 132, "resource_url": "https://api.discogs.com/image/L-1-1111053865.png", "type": "primary", "uri150": "https://api.discogs.com/image/L-150-1-1111053865.png"}, {"uri": "https://api.discogs.com/image/L-1-1139403654.gif", "height": 126, "width": 587, "resource_url": "https://api.discogs.com/image/L-1-1139403654.gif", "type": "secondary", "uri150": "https://api.discogs.com/image/L-150-1-1139403654.gif"}, {"uri": "https://api.discogs.com/image/L-1-1200165078.gif", "height": 196, "width": 600, "resource_url": "https://api.discogs.com/image/L-1-1200165078.gif", "type": "secondary", "uri150": "https://api.discogs.com/image/L-150-1-1200165078.gif"}, {"uri": "https://api.discogs.com/image/L-1-1258998163.png", "height": 121, "width": 275, "resource_url": "https://api.discogs.com/image/L-1-1258998163.png", "type": "secondary", "uri150": "https://api.discogs.com/image/L-150-1-1258998163.png"}, {"uri": "https://api.discogs.com/image/L-1-1348359908-8971.jpeg", "height": 720, "width": 382, "resource_url": "https://api.discogs.com/image/L-1-1348359908-8971.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/L-150-1-1348359908-8971.jpeg"}, {"uri": "https://api.discogs.com/image/L-1-1360101583-3643.jpeg", "height": 189, "width": 600, "resource_url": "https://api.discogs.com/image/L-1-1360101583-3643.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/L-150-1-1360101583-3643.jpeg"}], "resource_url": "https://api.discogs.com/labels/1", "id": 1, "data_quality": "Needs Vote"}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_label_releases:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Link: ; rel="last", ; rel="next"
7 | Server: lighttpd
8 | Content-Length: 758
9 | Date: Tue, 29 Jul 2014 19:58:12 GMT
10 | X-Varnish: 1931448274
11 | Age: 0
12 | Via: 1.1 varnish
13 | Connection: close
14 |
15 | {"pagination": {"per_page": 2, "items": 338, "page": 1, "urls": {"last": "https://api.discogs.com/labels/1/releases?per_page=2&page=169", "next": "https://api.discogs.com/labels/1/releases?per_page=2&page=2"}, "pages": 169}, "releases": [{"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-2801-1335473692.jpeg", "format": "CD, Mixed", "title": "DJ-Kicks", "catno": "!K7071CD", "resource_url": "https://api.discogs.com/releases/2801", "artist": "Andrea Parker", "id": 2801}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-9922-1220186706.jpeg", "format": "CD, Album, P/Mixed", "title": "Programmed", "catno": "546 137-2", "resource_url": "https://api.discogs.com/releases/9922", "artist": "Innerzone Orchestra", "id": 9922}]}
16 |
--------------------------------------------------------------------------------
/tests/fixtures/get_listing:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {
15 | "status": "For Sale",
16 | "price": {
17 | "currency": "USD",
18 | "value": 120
19 | },
20 | "original_price": {
21 | "curr_abbr": "USD",
22 | "curr_id": 1,
23 | "formatted": "$120.00",
24 | "value": 120.0
25 | },
26 | "allow_offers": false,
27 | "sleeve_condition": "Mint (M)",
28 | "id": 172723812,
29 | "condition": "Mint (M)",
30 | "posted": "2014-07-15T12:55:01-07:00",
31 | "ships_from": "United States",
32 | "uri": "http://www.discogs.com/sell/item/172723812",
33 | "comments": "Brand new... Still sealed!",
34 | "seller": {
35 | "username": "Booms528",
36 | "avatar_url": "https://secure.gravatar.com/avatar/8aa676fcfa2be14266d0ccad88da2cc4?s=500&r=pg&d=mm",
37 | "resource_url": "https://api.discogs.com/users/Booms528",
38 | "url": "https://api.discogs.com/users/Booms528",
39 | "id": 1369620,
40 | "shipping": "Buyer responsible for shipping. Price depends on distance but is usually $5-10.",
41 | "payment": "PayPal",
42 | "stats": {
43 | "rating": "100",
44 | "stars": 5.0,
45 | "total": 15
46 | }
47 | },
48 | "shipping_price": {
49 | "currency": "USD",
50 | "value": 2.50
51 | },
52 | "original_shipping_price": {
53 | "curr_abbr": "USD",
54 | "curr_id": 1,
55 | "formatted": "$2.50",
56 | "value": 2.5
57 | },
58 | "release": {
59 | "catalog_number": "541125-1, 1-541125 (K1)",
60 | "resource_url": "https://api.discogs.com/releases/5610049",
61 | "year": 2014,
62 | "id": 5610049,
63 | "description": "LCD Soundsystem - The Long Goodbye: LCD Soundsystem Live At Madison Square Garden (5xLP + Box)",
64 | "thumbnail": "https://api-img.discogs.com/UsvcarhmrXb0km4QH_dRP8gEf3E=/fit-in/600x600/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-5610049-1399500556-9283.jpeg.jpg"
65 | },
66 | "resource_url": "https://api.discogs.com/marketplace/listings/172723812",
67 | "audio": false
68 | }
--------------------------------------------------------------------------------
/tests/fixtures/get_master:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 4875
8 | Date: Tue, 29 Jul 2014 19:35:39 GMT
9 | X-Varnish: 1931104915
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: close
13 |
14 | {"styles": ["Techno", "Euro House"], "genres": ["Electronic"], "videos": [{"duration": 291, "description": "Apotheosis - O Fortuna", "embed": true, "uri": "http://www.youtube.com/watch?v=ijm8LL42WTE", "title": "Apotheosis - O Fortuna"}, {"duration": 291, "description": "Apotheosis - O Fortuna", "embed": true, "uri": "http://www.youtube.com/watch?v=8m4RAjgfm3U", "title": "Apotheosis - O Fortuna"}, {"duration": 292, "description": "Apotheosis - O Fortuna (Apocalypse Chorus Mix) [HQ]", "embed": true, "uri": "http://www.youtube.com/watch?v=61R_TcsLAnM", "title": "Apotheosis - O Fortuna (Apocalypse Chorus Mix) [HQ]"}, {"duration": 293, "description": "Apotheosis - O Fortuna (Apocalypse Chorus Mix) (A)", "embed": true, "uri": "http://www.youtube.com/watch?v=i02UPBrAC-Y", "title": "Apotheosis - O Fortuna (Apocalypse Chorus Mix) (A)"}, {"duration": 430, "description": "APOTHEOSIS An Other Thing (Metropoll Sky Undermix)", "embed": true, "uri": "http://www.youtube.com/watch?v=LHpbcrspol8", "title": "APOTHEOSIS An Other Thing (Metropoll Sky Undermix)"}, {"duration": 436, "description": "Apotheosis - An Other Thing (Metropoll Sky Undermix) (B)", "embed": true, "uri": "http://www.youtube.com/watch?v=ZrFIFvZ9YhA", "title": "Apotheosis - An Other Thing (Metropoll Sky Undermix) (B)"}, {"duration": 435, "description": "APOTHEOSIS B1 An Other Thing (Metropoll Sky UnderMix)", "embed": true, "uri": "http://www.youtube.com/watch?v=4OWrQvYSdyA", "title": "APOTHEOSIS B1 An Other Thing (Metropoll Sky UnderMix)"}, {"duration": 291, "description": "Apotheosis - o fortuna (apocalypse chorus mix) (1991)", "embed": true, "uri": "http://www.youtube.com/watch?v=iAmpVaFIzDQ", "title": "Apotheosis - o fortuna (apocalypse chorus mix) (1991)"}], "title": "O Fortuna", "main_release": 42575, "main_release_url": "https://api.discogs.com/releases/42575", "uri": "http://www.discogs.com/Apotheosis-O-Fortuna/master/33687", "artists": [{"join": "", "name": "Apotheosis", "anv": "", "tracks": "", "role": "", "resource_url": "https://api.discogs.com/artists/7678", "id": 7678}], "versions_url": "https://api.discogs.com/masters/33687/versions", "year": 1991, "images": [{"uri": "https://api.discogs.com/image/R-42575-1225200540.jpeg", "height": 592, "width": 600, "resource_url": "https://api.discogs.com/image/R-42575-1225200540.jpeg", "type": "primary", "uri150": "https://api.discogs.com/image/R-150-42575-1225200540.jpeg"}, {"uri": "https://api.discogs.com/image/R-42575-1225200548.jpeg", "height": 602, "width": 600, "resource_url": "https://api.discogs.com/image/R-42575-1225200548.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/R-150-42575-1225200548.jpeg"}, {"uri": "https://api.discogs.com/image/R-42575-1225014901.jpeg", "height": 603, "width": 600, "resource_url": "https://api.discogs.com/image/R-42575-1225014901.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/R-150-42575-1225014901.jpeg"}, {"uri": "https://api.discogs.com/image/R-42575-1225014906.jpeg", "height": 606, "width": 600, "resource_url": "https://api.discogs.com/image/R-42575-1225014906.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/R-150-42575-1225014906.jpeg"}], "resource_url": "https://api.discogs.com/masters/33687", "tracklist": [{"duration": "5:10", "position": "A", "type_": "track", "extraartists": [{"join": "", "name": "Luc Rigaux", "anv": "", "tracks": "", "role": "Producer [Re-produced], Arranged By [Re-arranged]", "resource_url": "https://api.discogs.com/artists/111631", "id": 111631}, {"join": "", "name": "Patrick Samoy", "anv": "", "tracks": "", "role": "Producer [Re-produced], Arranged By [Re-arranged]", "resource_url": "https://api.discogs.com/artists/111632", "id": 111632}, {"join": "", "name": "Carl Orff", "anv": "", "tracks": "", "role": "Written-By", "resource_url": "https://api.discogs.com/artists/102506", "id": 102506}], "title": "O Fortuna (Apocalypse Chorus Mix)"}, {"duration": "7:15", "position": "B", "type_": "track", "extraartists": [{"join": "", "name": "Ronald Stock", "anv": "", "tracks": "", "role": "Engineer", "resource_url": "https://api.discogs.com/artists/721079", "id": 721079}, {"join": "", "name": "Steve Humby", "anv": "", "tracks": "", "role": "Engineer", "resource_url": "https://api.discogs.com/artists/671092", "id": 671092}, {"join": "", "name": "Empire Control", "anv": "", "tracks": "", "role": "Producer", "resource_url": "https://api.discogs.com/artists/171429", "id": 171429}, {"join": "", "name": "Luc Rigaux", "anv": "L. Rigaux", "tracks": "", "role": "Written-By", "resource_url": "https://api.discogs.com/artists/111631", "id": 111631}, {"join": "", "name": "Patrick Samoy", "anv": "P. Samoy", "tracks": "", "role": "Written-By", "resource_url": "https://api.discogs.com/artists/111632", "id": 111632}], "title": "An Other Thing (Metropoll Sky UnderMix)"}], "id": 33687, "data_quality": "Correct"}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_master_versions:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Link: ; rel="next", ; rel="prev", ; rel="last", ; rel="first"
7 | Server: lighttpd
8 | Content-Length: 1584
9 | Date: Tue, 29 Jul 2014 19:47:44 GMT
10 | X-Varnish: 1931290184
11 | Age: 0
12 | Via: 1.1 varnish
13 | Connection: close
14 |
15 | {"pagination": {"per_page": 4, "items": 9, "page": 2, "urls": {"next": "https://api.discogs.com/masters/33687/versions?per_page=4&page=3", "prev": "https://api.discogs.com/masters/33687/versions?per_page=4&page=1", "last": "https://api.discogs.com/masters/33687/versions?per_page=4&page=3", "first": "https://api.discogs.com/masters/33687/versions?per_page=4&page=1"}, "pages": 3}, "versions": [{"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-1418157-1218011131.jpeg", "title": "O Fortuna", "country": "Belgium", "format": "Cass, Single", "label": "Indisc", "released": "1991", "catno": "300170-4", "resource_url": "https://api.discogs.com/releases/1418157", "id": 1418157}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-179412-1291392874.jpeg", "title": "O Fortuna", "country": "Germany", "format": "12\"", "label": "ZYX Records", "released": "1992", "catno": "ZYX 6743-12", "resource_url": "https://api.discogs.com/releases/179412", "id": 179412}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-84503-1205531119.jpeg", "title": "O Fortuna", "country": "Belgium", "format": "7\", Single", "label": "Indisc", "released": "1991", "catno": "DIS 8319", "resource_url": "https://api.discogs.com/releases/84503", "id": 84503}, {"status": "Accepted", "thumb": "https://api.discogs.com/image/R-150-307198-1195545301.jpeg", "title": "O Fortuna", "country": "US", "format": "CD, Single, Car", "label": "Radikal Records", "released": "1992", "catno": "CDS 12299-2", "resource_url": "https://api.discogs.com/releases/307198", "id": 307198}]}
16 |
--------------------------------------------------------------------------------
/tests/fixtures/get_oauth_identity:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 135
8 | Date: Thu, 31 Jul 2014 20:14:35 GMT
9 | X-Varnish: 1965254583
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {"username": "R-Search", "resource_url": "https://api.discogs.com/users/R-Search", "consumer_name": "RicbraDiscogsBundle", "id": 557870}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/get_order:
--------------------------------------------------------------------------------
1 | HTTP/1.1: 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {
15 | "id": "1-1",
16 | "resource_url": "https://api.discogs.com/marketplace/orders/1-1",
17 | "messages_url": "https://api.discogs.com/marketplace/orders/1-1/messages",
18 | "uri": "http://www.discogs.com/sell/order/1-1",
19 | "status": "New Order",
20 | "next_status": [
21 | "New Order",
22 | "Buyer Contacted",
23 | "Invoice Sent",
24 | "Payment Pending",
25 | "Payment Received",
26 | "Shipped",
27 | "Refund Sent",
28 | "Cancelled (Non-Paying Buyer)",
29 | "Cancelled (Item Unavailable)",
30 | "Cancelled (Per Buyer's Request)"
31 | ],
32 | "fee": {
33 | "currency": "USD",
34 | "value": 2.52
35 | },
36 | "created": "2011-10-21T09:25:17",
37 | "items": [
38 | {
39 | "release": {
40 | "id": 1,
41 | "description": "Persuader, The - Stockholm (2x12\")"
42 | },
43 | "price": {
44 | "currency": "USD",
45 | "value": 42.0
46 | },
47 | "id": 41578242
48 | }
49 | ],
50 | "shipping": {
51 | "currency": "USD",
52 | "value": 0.0
53 | },
54 | "shipping_address": "Asdf Exampleton\n234 NE Asdf St.\nAsdf Town, Oregon, 14423\nUnited States\n\nPhone: 555-555-2733\nPaypal address: asdf@example.com",
55 | "additional_instructions": "please use sturdy packaging.",
56 | "seller": {
57 | "resource_url": "https://api.discogs.com/users/example_seller",
58 | "username": "example_seller",
59 | "id": 1
60 | },
61 | "last_activity": "2011-10-21T09:25:17",
62 | "buyer": {
63 | "resource_url": "https://api.discogs.com/users/example_buyer",
64 | "username": "example_buyer",
65 | "id": 2
66 | },
67 | "total": {
68 | "currency": "USD",
69 | "value": 42.0
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/tests/fixtures/get_orders:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 780
8 | Date: Tue, 15 Jul 2014 19:59:59 GMT
9 | X-Varnish: 1702965334
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {
15 | "pagination": {
16 | "per_page": 50,
17 | "pages": 1,
18 | "page": 1,
19 | "items": 1,
20 | "urls": {}
21 | },
22 | "orders": [
23 | {
24 | "status": "New Order",
25 | "fee": {
26 | "currency": "USD",
27 | "value": 2.52
28 | },
29 | "created": "2011-10-21T09:25:17",
30 | "items": [
31 | {
32 | "release": {
33 | "id": 1,
34 | "description": "Persuader, The - Stockholm (2x12\")"
35 | },
36 | "price": {
37 | "currency": "USD",
38 | "value": 42.0
39 | },
40 | "id": 41578242
41 | }
42 | ],
43 | "shipping": {
44 | "currency": "USD",
45 | "value": 0.0
46 | },
47 | "shipping_address": "Asdf Exampleton\n234 NE Asdf St.\nAsdf Town, Oregon, 14423\nUnited States\n\nPhone: 555-555-2733\nPaypal address: asdf@example.com",
48 | "additional_instructions": "please use sturdy packaging.",
49 | "seller": {
50 | "resource_url": "https://api.discogs.com/users/example_seller",
51 | "username": "example_seller",
52 | "id": 1
53 | },
54 | "last_activity": "2011-10-21T09:25:17",
55 | "buyer": {
56 | "resource_url": "https://api.discogs.com/users/example_buyer",
57 | "username": "example_buyer",
58 | "id": 2
59 | },
60 | "total": {
61 | "currency": "USD",
62 | "value": 42.0
63 | },
64 | "id": "1-1",
65 | "resource_url": "https://api.discogs.com/marketplace/orders/1-1",
66 | "messages_url": "https://api.discogs.com/marketplace/orders/1-1/messages",
67 | "uri": "http://www.discogs.com/sell/order/1-1",
68 | "next_status": [
69 | "New Order",
70 | "Buyer Contacted",
71 | "Invoice Sent",
72 | "Payment Pending",
73 | "Payment Received",
74 | "Shipped",
75 | "Refund Sent",
76 | "Cancelled (Non-Paying Buyer)",
77 | "Cancelled (Item Unavailable)",
78 | "Cancelled (Per Buyer's Request)"
79 | ]
80 | }
81 | ]
82 | }
--------------------------------------------------------------------------------
/tests/fixtures/get_profile:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 858
8 | Date: Thu, 31 Jul 2014 20:14:35 GMT
9 | X-Varnish: 1718492795
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: keep-alive
13 |
14 | {"profile": "", "banner_url": "", "wantlist_url": "https://api.discogs.com/users/maxperei/wants", "seller_num_ratings": 13, "rank": 57.0, "num_pending": 6, "id": 1861520, "buyer_rating": 100.0, "num_for_sale": 63, "home_page": "http://maxperei.info", "location": "France", "collection_folders_url": "https://api.discogs.com/users/maxperei/collection/folders", "username": "maxperei", "collection_fields_url": "https://api.discogs.com/users/maxperei/collection/fields", "releases_contributed": 7, "registered": "2013-05-26T05:59:09-07:00", "rating_avg": 4.48, "num_collection": 414, "releases_rated": 46, "curr_abbr": "", "seller_rating_stars": 5.0, "num_lists": 0, "name": "\u2234", "buyer_rating_stars": 5.0, "inventory_url": "https://api.discogs.com/users/maxperei/inventory", "uri": "https://www.discogs.com/user/maxperei", "buyer_num_ratings": 32, "avatar_url": "https://img.discogs.com/mDaw_OUjHspYLj77C_tcobr2eXc=/500x500/filters:strip_icc():format(jpeg):quality(40)/discogs-avatars/U-1861520-1498224434.jpeg.jpg", "resource_url": "https://api.discogs.com/users/maxperei", "seller_rating": 100.0}
--------------------------------------------------------------------------------
/tests/fixtures/get_release:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Server: lighttpd
7 | Content-Length: 6299
8 | Date: Tue, 29 Jul 2014 19:20:12 GMT
9 | X-Varnish: 1930870444
10 | Age: 0
11 | Via: 1.1 varnish
12 | Connection: close
13 |
14 | {"status": "Accepted", "styles": ["Deep House"], "videos": [{"duration": 380, "description": "The Persuader - Vasastaden", "embed": true, "uri": "http://www.youtube.com/watch?v=5rA8CTKKEP4", "title": "The Persuader - Vasastaden"}, {"duration": 335, "description": "The Persuader-Stockholm-Sodermalm", "embed": true, "uri": "http://www.youtube.com/watch?v=QVdDhOnoR8k", "title": "The Persuader-Stockholm-Sodermalm"}, {"duration": 290, "description": "The Persuader (Jesper Dahlb\u00e4ck) - \u00d6stermalm", "embed": true, "uri": "http://www.youtube.com/watch?v=AHuQWcylaU4", "title": "The Persuader (Jesper Dahlb\u00e4ck) - \u00d6stermalm"}, {"duration": 175, "description": "The Persuader - Kungsholmen - Svek Records", "embed": true, "uri": "http://www.youtube.com/watch?v=sLZvvJVir5g", "title": "The Persuader - Kungsholmen - Svek Records"}, {"duration": 324, "description": "The Persuader - Gamla Stan - Svek Records", "embed": true, "uri": "http://www.youtube.com/watch?v=js_g1qtPmL0", "title": "The Persuader - Gamla Stan - Svek Records"}, {"duration": 289, "description": "The Persuader - Norrmalm", "embed": true, "uri": "http://www.youtube.com/watch?v=hy47qgyJeG0", "title": "The Persuader - Norrmalm"}], "series": [], "released_formatted": "Mar 1999", "labels": [{"id": 5, "resource_url": "https://api.discogs.com/labels/5", "catno": "SK032", "name": "Svek", "entity_type": "1"}], "estimated_weight": 460, "community": {"status": "Accepted", "rating": {"count": 95, "average": 4.48}, "have": 319, "contributors": [{"username": "teo", "resource_url": "https://api.discogs.com/users/teo"}, {"username": "Ultravod", "resource_url": "https://api.discogs.com/users/Ultravod"}, {"username": "MONK", "resource_url": "https://api.discogs.com/users/MONK"}, {"username": "herr_roessi", "resource_url": "https://api.discogs.com/users/herr_roessi"}, {"username": "Swedens_Finest", "resource_url": "https://api.discogs.com/users/Swedens_Finest"}, {"username": "daniel-phonk", "resource_url": "https://api.discogs.com/users/daniel-phonk"}, {"username": "sharevari", "resource_url": "https://api.discogs.com/users/sharevari"}, {"username": "cosmicdream", "resource_url": "https://api.discogs.com/users/cosmicdream"}, {"username": "moob", "resource_url": "https://api.discogs.com/users/moob"}, {"username": "irionman", "resource_url": "https://api.discogs.com/users/irionman"}, {"username": "PabloPlato", "resource_url": "https://api.discogs.com/users/PabloPlato"}, {"username": "tomazy", "resource_url": "https://api.discogs.com/users/tomazy"}, {"username": "NeedleCain", "resource_url": "https://api.discogs.com/users/NeedleCain"}, {"username": "more_music", "resource_url": "https://api.discogs.com/users/more_music"}, {"username": "teori", "resource_url": "https://api.discogs.com/users/teori"}, {"username": "disneyfacts", "resource_url": "https://api.discogs.com/users/disneyfacts"}, {"username": "baczbad", "resource_url": "https://api.discogs.com/users/baczbad"}], "want": 347, "submitter": {"username": "teo", "resource_url": "https://api.discogs.com/users/teo"}, "data_quality": "Complete and Correct"}, "released": "1999-03-00", "master_url": "https://api.discogs.com/masters/5427", "year": 1999, "images": [{"uri": "https://api.discogs.com/image/R-1-1193812031.jpeg", "height": 600, "width": 600, "resource_url": "https://api.discogs.com/image/R-1-1193812031.jpeg", "type": "primary", "uri150": "https://api.discogs.com/image/R-150-1-1193812031.jpeg"}, {"uri": "https://api.discogs.com/image/R-1-1193812053.jpeg", "height": 600, "width": 600, "resource_url": "https://api.discogs.com/image/R-1-1193812053.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/R-150-1-1193812053.jpeg"}, {"uri": "https://api.discogs.com/image/R-1-1193812072.jpeg", "height": 600, "width": 600, "resource_url": "https://api.discogs.com/image/R-1-1193812072.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/R-150-1-1193812072.jpeg"}, {"uri": "https://api.discogs.com/image/R-1-1193812091.jpeg", "height": 600, "width": 600, "resource_url": "https://api.discogs.com/image/R-1-1193812091.jpeg", "type": "secondary", "uri150": "https://api.discogs.com/image/R-150-1-1193812091.jpeg"}], "date_added": "2000-09-01T00:00:00", "format_quantity": 2, "id": 1, "genres": ["Electronic"], "thumb": "https://api.discogs.com/image/R-150-1-1193812031.jpeg", "extraartists": [{"join": "", "name": "Jesper Dahlb\u00e4ck", "anv": "", "tracks": "", "role": "Music By [All Tracks By]", "resource_url": "https://api.discogs.com/artists/239", "id": 239}], "title": "Stockholm", "country": "Sweden", "notes": "The song titles are the names of Stockholm's districts.\r\n", "identifiers": [{"type": "Matrix / Runout", "description": "A-Side", "value": "MPO SK 032 A1 G PHRUPMASTERGENERAL T27 LONDON"}, {"type": "Matrix / Runout", "description": "B-Side", "value": "MPO SK 032 B1"}, {"type": "Matrix / Runout", "description": "C-Side", "value": "MPO SK 032 C1"}, {"type": "Matrix / Runout", "description": "D-Side", "value": "MPO SK 032 D1"}], "companies": [{"name": "The Globe Studios", "entity_type": "23", "catno": "", "resource_url": "https://api.discogs.com/labels/271046", "id": 271046, "entity_type_name": "Recorded At"}, {"name": "MPO", "entity_type": "17", "catno": "", "resource_url": "https://api.discogs.com/labels/56025", "id": 56025, "entity_type_name": "Pressed By"}], "uri": "http://www.discogs.com/Persuader-Stockholm/release/1", "artists": [{"join": "", "name": "Persuader, The", "anv": "", "tracks": "", "role": "", "resource_url": "https://api.discogs.com/artists/1", "id": 1}], "formats": [{"descriptions": ["12\"", "33 \u2153 RPM"], "name": "Vinyl", "qty": "2"}], "date_changed": "2013-01-23T10:53:34", "lowest_price": 8.077169493076712, "resource_url": "https://api.discogs.com/releases/1", "master_id": 5427, "tracklist": [{"duration": "4:45", "position": "A", "type_": "track", "title": "\u00d6stermalm"}, {"duration": "6:11", "position": "B1", "type_": "track", "title": "Vasastaden"}, {"duration": "2:49", "position": "B2", "type_": "track", "title": "Kungsholmen"}, {"duration": "5:38", "position": "C1", "type_": "track", "title": "S\u00f6dermalm"}, {"duration": "4:52", "position": "C2", "type_": "track", "title": "Norrmalm"}, {"duration": "5:16", "position": "D", "type_": "track", "title": "Gamla Stan"}], "data_quality": "Complete and Correct"}
15 |
--------------------------------------------------------------------------------
/tests/fixtures/search:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Reproxy-Status: yes
3 | Access-Control-Allow-Origin: *
4 | Cache-Control: public, must-revalidate
5 | Content-Type: application/json
6 | Link: ; rel="last", ; rel="next"
7 | Server: lighttpd
8 | Content-Length: 28159
9 | Date: Mon, 28 Jul 2014 20:20:20 GMT
10 | X-Varnish: 1915383613
11 | Age: 0
12 | Via: 1.1 varnish
13 | Connection: close
14 |
15 | {"pagination": {"per_page": 50, "items": 5661, "page": 1, "urls": {"last": "https://api.discogs.com/database/search?q=prodigy&per_page=50&type=release&page=114", "next": "https://api.discogs.com/database/search?q=prodigy&per_page=50&type=release&page=2"}, "pages": 114}, "results": [{"style": ["Breakbeat", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-2734257-1298624566.jpeg", "format": ["CD", "Compilation", "Unofficial Release"], "country": "", "barcode": ["4189883331725"], "uri": "/Prodigy-The-RestUnreleased-The-Last/release/2734257", "community": {"have": 6, "want": 8}, "label": ["Not On Label (The Prodigy)"], "catno": "PRODIGY 2811685", "year": "1997", "genre": ["Electronic"], "title": "Prodigy, The - The Rest, The Unreleased! The Last", "resource_url": "https://api.discogs.com/releases/2734257", "type": "release", "id": 2734257}, {"style": ["Breakbeat", "Broken Beat", "Happy Hardcore", "Big Beat", "Hardcore"], "thumb": "https://api.discogs.com/image/R-90-4251474-1359751198-2821.jpeg", "format": ["CD", "CD-ROM", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["Fly Multimedia 0012"], "uri": "/Prodigy-Prodigy/release/4251474", "community": {"have": 1, "want": 3}, "label": ["Fly Multimedia", "Not On Label (The Prodigy)"], "catno": "none", "year": "1998", "genre": ["Electronic"], "title": "Prodigy* - Prodigy", "resource_url": "https://api.discogs.com/releases/4251474", "type": "release", "id": 4251474}, {"style": ["Breakbeat", "Broken Beat", "Happy Hardcore", "Big Beat", "Hardcore"], "thumb": "https://api.discogs.com/image/R-90-2858963-1333827232.jpeg", "format": ["CD", "CD-ROM", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["FFF 019905"], "uri": "/Prodigy-Prodigy/release/2858963", "community": {"have": 3, "want": 11}, "label": ["Not On Label (The Prodigy)"], "catno": "none", "year": "1999", "genre": ["Electronic"], "title": "Prodigy* - Prodigy", "resource_url": "https://api.discogs.com/releases/2858963", "type": "release", "id": 2858963}, {"style": ["Breakbeat", "Broken Beat", "Happy Hardcore", "Big Beat", "Hardcore"], "thumb": "https://api.discogs.com/image/R-90-4847483-1377443897-3420.jpeg", "format": ["CD", "CD-ROM", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["6 456489 431561", "6456489431561", "MP3 12/2007/64"], "uri": "/Prodigy-Prodigy/release/4847483", "community": {"have": 1, "want": 2}, "label": ["\u041c\u043e\u043d\u043e \u0426\u0435\u043d\u0442\u0440", "\u041e\u041e\u041e \"\u041c\u043e\u043d\u043e \u0426\u0435\u043d\u0442\u0440\""], "catno": "R CD GR0054", "year": "2008", "genre": ["Electronic"], "title": "Prodigy* - Prodigy", "resource_url": "https://api.discogs.com/releases/4847483", "type": "release", "id": 4847483}, {"style": ["Progressive House", "Electro"], "thumb": "https://api.discogs.com/image/R-90-1463583-1221644150.jpeg", "format": ["Vinyl", "12\"", "Single Sided", "White Label", "Unofficial Release"], "country": "UK", "title": "Prodigy, The - Everybody In The Place (Deadhau5 Mix)", "uri": "/Prodigy-Everybody-In-The-Place-Deadhau5-Mix/release/1463583", "community": {"have": 34, "want": 17}, "label": ["Not On Label (The Prodigy)"], "catno": "PRODIGY001", "year": "2008", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1463583", "type": "release", "id": 1463583}, {"style": ["Breakbeat", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-3308604-1325101682.jpeg", "format": ["CD", "Compilation", "Enhanced", "Unofficial Release"], "country": "Russia", "barcode": ["634407225547", "LXZ PRODIGY 2002"], "uri": "/Prodigy-Babys-Got-A-Temper-Best-2002/release/3308604", "community": {"have": 2, "want": 0}, "label": ["Not On Label (The Prodigy)", "Unknown (LXZ)"], "catno": "none", "year": "2002", "genre": ["Electronic"], "title": "Prodigy, The - Babys Got A Temper [Best 2002]", "resource_url": "https://api.discogs.com/releases/3308604", "type": "release", "id": 3308604}, {"style": ["House"], "thumb": "https://api.discogs.com/image/R-90-698434-1185372479.jpeg", "format": ["Vinyl", "12\""], "country": "US", "title": "Angel Alanis & Jon Pegnato - Digital Prodigy", "uri": "/Angel-Alanis--Jon-Pegnato-Digital-Prodigy/release/698434", "community": {"have": 9, "want": 6}, "label": ["A-Trax"], "catno": "ATX 155", "year": "2006", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/698434", "type": "release", "id": 698434}, {"style": ["Hard House"], "thumb": "https://api.discogs.com/image/R-90-1121096-1193692208.jpeg", "format": ["Vinyl", "12\""], "country": "UK", "title": "DJ Nemesis (4) vs Klubrockers - Prodigy Beat", "uri": "/DJ-Nemesis-4-Vs-Klubrockers-Prodigy-Beat/release/1121096", "community": {"have": 11, "want": 7}, "label": ["Full Force Records"], "catno": "FFR001", "year": "2007", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1121096", "type": "release", "id": 1121096}, {"style": ["Progressive House", "House", "Electro"], "thumb": "https://api.discogs.com/images/default-release.png", "format": ["File", "MP3", "Single"], "country": "UK, Europe & US", "title": "Jon Kennedy (2) - House Prodigy", "uri": "/Jon-Kennedy-House-Prodigy/release/1577778", "community": {"have": 0, "want": 0}, "label": ["Immense Recordings"], "catno": "IR021", "year": "2006", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1577778", "type": "release", "id": 1577778}, {"style": ["House"], "thumb": "https://api.discogs.com/images/default-release.png", "format": ["Vinyl", "White Label"], "country": "US", "title": "Angel Alanis & Jon Pegnato - Digital Prodigy", "uri": "/Angel-Alanis-Jon-Pegnato-Digital-Prodigy/release/2299855", "community": {"have": 2, "want": 0}, "label": ["A-Trax"], "catno": "ATX 155", "year": "2006", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/2299855", "type": "release", "id": 2299855}, {"style": ["Electro", "House"], "thumb": "https://api.discogs.com/image/R-90-3949274-1350226049-7843.jpeg", "format": ["File", "MP3"], "country": "US", "title": "ZXX & Jon Kennedy (2) - House Prodigy ", "uri": "/ZXX-Jon-Kennedy-House-Prodigy-/release/3949274", "community": {"have": 0, "want": 0}, "label": ["Munchie Recordings", "Direct Drive Digital", "Direct Drive Digital"], "catno": "MR-027", "year": "2009", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/3949274", "type": "release", "id": 3949274}, {"style": ["Bluegrass", "Folk Rock"], "thumb": "https://api.discogs.com/image/R-90-4303290-1361249752-7017.jpeg", "format": ["Vinyl", "LP", "Album", "Stereo"], "country": "US", "barcode": ["None", "None", "NR 6450-1 JE", "NR 6450-2 JE", "ASCAP"], "uri": "/Mike-Cross-Child-Prodigy/release/4303290", "community": {"have": 7, "want": 1}, "label": ["TGS Records", "TGS Records", "TGS Studios"], "catno": "001-TGS", "year": "1975", "genre": ["Rock", "Folk, World, & Country"], "title": "Michael Cross* - Child Prodigy", "resource_url": "https://api.discogs.com/releases/4303290", "type": "release", "id": 4303290}, {"style": ["Bluegrass"], "thumb": "https://api.discogs.com/image/R-90-3221087-1321075852.jpeg", "format": ["Vinyl", "LP", "Album", "Reissue"], "country": "US", "title": "Mike Cross (4) - Child Prodigy", "uri": "/Mike-Cross-Child-Prodigy/release/3221087", "community": {"have": 9, "want": 1}, "label": ["GHE Records"], "catno": "GR1001", "year": "1979", "genre": ["Folk, World, & Country"], "resource_url": "https://api.discogs.com/releases/3221087", "type": "release", "id": 3221087}, {"style": ["Breakbeat", "Techno", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-2789331-1335442389.jpeg", "format": ["CD", "CD-ROM", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["MP-0648"], "uri": "/Prodigy-The-Prodigy/release/2789331", "community": {"have": 5, "want": 4}, "label": ["\u0414\u043e\u043c\u0430\u0448\u043d\u044f\u044f \u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f"], "catno": "MP-0648", "year": "2002", "genre": ["Electronic"], "title": "Prodigy, The - The Prodigy", "resource_url": "https://api.discogs.com/releases/2789331", "type": "release", "id": 2789331}, {"style": ["Breakbeat", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-2890911-1305917402.jpeg", "format": ["Cassette", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["4 601055 040797", "4601055040797"], "uri": "/Prodigy-The-Prodigy/release/2890911", "community": {"have": 1, "want": 8}, "label": ["Godzi Records"], "catno": "GR056/09~12", "year": "2001", "genre": ["Electronic"], "title": "Prodigy, The - The Prodigy", "resource_url": "https://api.discogs.com/releases/2890911", "type": "release", "id": 2890911}, {"style": ["Breakbeat", "Techno", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-4477318-1365974026-6590.jpeg", "format": ["CD", "CD-ROM", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["41291-PRDG", "4 619497 412911", "4619497412911"], "uri": "/Prodigy-The-Prodigy/release/4477318", "community": {"have": 0, "want": 1}, "label": ["\u0414\u043e\u043c\u0430\u0448\u043d\u044f\u044f \u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f", "\u041d\u0430\u0432\u0438\u0433\u0430\u0442\u043e\u0440", "\u041e\u041e\u041e \"\u042d\u043b\u043a\u043e\u043c\""], "catno": "none", "year": "2004", "genre": ["Electronic"], "title": "Prodigy, The - The Prodigy", "resource_url": "https://api.discogs.com/releases/4477318", "type": "release", "id": 4477318}, {"style": ["Alternative Rock"], "thumb": "https://api.discogs.com/image/R-90-1950031-1254989968.jpeg", "format": ["Vinyl", "LP", "Album"], "country": "US", "barcode": ["7 44861 08871 4", "OLE-887-1-A 18498.1(3)... PCMTR", "OLE-887-1-B 18498.2(3)... PCMTR"], "uri": "/Kurt-Vile-Childish-Prodigy/release/1950031", "community": {"have": 511, "want": 135}, "label": ["Matador"], "catno": "OLE-887-1", "year": "2009", "genre": ["Electronic", "Rock", "Blues", "Pop"], "title": "Kurt Vile - Childish Prodigy", "resource_url": "https://api.discogs.com/releases/1950031", "type": "release", "id": 1950031}, {"style": ["Alternative Rock", "Indie Rock"], "thumb": "https://api.discogs.com/image/R-90-2118623-1265046576.jpeg", "format": ["CD", "Album"], "country": "Europe", "barcode": ["7 44861 08872 1", "LC 11552", "IFPI L847", "IFPI 0781", "53775823/OLE887-2 21"], "uri": "/Kurt-Vile-Childish-Prodigy/release/2118623", "community": {"have": 55, "want": 14}, "label": ["Matador"], "catno": "OLE-887-2", "year": "2009", "genre": ["Rock"], "title": "Kurt Vile - Childish Prodigy", "resource_url": "https://api.discogs.com/releases/2118623", "type": "release", "id": 2118623}, {"style": ["Alternative Rock", "Indie Rock"], "thumb": "https://api.discogs.com/images/default-release.png", "format": ["CDr", "Album", "Promo"], "country": "Europe", "title": "Kurt Vile - Childish Prodigy", "uri": "/Kurt-Vile-Childish-Prodigy/release/2361537", "community": {"have": 4, "want": 8}, "label": ["Matador"], "catno": "OLE-887-2", "year": "2009", "genre": ["Rock"], "resource_url": "https://api.discogs.com/releases/2361537", "type": "release", "id": 2361537}, {"style": ["Alternative Rock", "Indie Rock"], "thumb": "https://api.discogs.com/image/R-90-5765099-1402021805-1873.jpeg", "format": ["CD", "Album"], "country": "Australia & New Zealand", "barcode": ["7 44861 08872 1"], "uri": "/Kurt-Vile-Childish-Prodigy/release/5765099", "community": {"have": 1, "want": 2}, "label": ["Matador", "Inertia", "Rhythmethod", "Remote Control"], "catno": "OLE-887-2", "year": "2009", "genre": ["Rock"], "title": "Kurt Vile - Childish Prodigy", "resource_url": "https://api.discogs.com/releases/5765099", "type": "release", "id": 5765099}, {"style": ["Alternative Rock", "Indie Rock", "Lo-Fi"], "thumb": "https://api.discogs.com/image/R-90-5797336-1402938563-7074.jpeg", "format": ["CD", "Album"], "country": "US", "barcode": ["7 44861 08872 1", "ifpi L909", "IFPI 2U9J", "Z79038 LN OLE 887-2 01"], "uri": "/Kurt-Vile-Childish-Prodigy/release/5797336", "community": {"have": 2, "want": 2}, "label": ["Matador", "Matador", "Matador", "West West Side Music", "Uniform Recording", "Uniform Recording"], "catno": "OLE-887-2", "year": "2009", "genre": ["Rock"], "title": "Kurt Vile - Childish Prodigy", "resource_url": "https://api.discogs.com/releases/5797336", "type": "release", "id": 5797336}, {"style": ["Lounge", "Psychedelic Rock"], "thumb": "https://api.discogs.com/image/R-90-5467312-1394111845-5599.jpeg", "format": ["Vinyl", "LP"], "country": "US", "title": "Prodigy, The (2) - The Prodigy", "uri": "/Prodigy-The-Prodigy/release/5467312", "community": {"have": 0, "want": 0}, "label": ["Lariam Associates Inc."], "catno": "LAS-121", "year": "1971", "genre": ["Rock"], "resource_url": "https://api.discogs.com/releases/5467312", "type": "release", "id": 5467312}, {"style": ["Breakbeat", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-2844280-1303644632.jpeg", "format": ["CD", "Compilation", "Unofficial Release"], "country": "Russia", "barcode": ["TOR7060"], "uri": "/Prodigy-100-Hits-Prodigy-Hits/release/2844280", "community": {"have": 3, "want": 6}, "label": ["ORZ Records", "100% Hits"], "catno": "1010-S97-PRO", "year": "1997", "genre": ["Electronic"], "title": "Prodigy* - 100% Hits: Prodigy Hits", "resource_url": "https://api.discogs.com/releases/2844280", "type": "release", "id": 2844280}, {"thumb": "https://api.discogs.com/image/R-90-4064024-1354031040-8025.jpeg", "format": ["Vinyl", "7\"", "45 RPM"], "country": "Jamaica", "title": "Errol Lee & Karen Marr - My Special Smile", "uri": "/Errol-Lee-Karen-Marr-My-Special-Smile/release/4064024", "community": {"have": 2, "want": 2}, "label": ["Prodigy"], "catno": "none", "year": "1983", "genre": ["Funk / Soul"], "resource_url": "https://api.discogs.com/releases/4064024", "type": "release", "id": 4064024}, {"style": ["Roots Reggae"], "thumb": "https://api.discogs.com/image/R-90-4316335-1361555779-9274.jpeg", "format": ["Vinyl", "7\""], "country": "Jamaica", "title": "Tony Tuff - All Day Rockers", "uri": "/Tony-Tuff-All-Day-Rockers/release/4316335", "community": {"have": 1, "want": 5}, "label": ["Prodigy"], "catno": "none", "genre": ["Reggae"], "resource_url": "https://api.discogs.com/releases/4316335", "type": "release", "id": 4316335}, {"style": ["Breakbeat", "Hardcore", "Techno", "Jungle", "Acid"], "thumb": "https://api.discogs.com/image/R-90-1504243-1323282869.jpeg", "format": ["CD", "Maxi-Single", "Box Set", "Limited Edition", "Compilation"], "country": "Poland", "title": "Prodigy* - 3x Prodigy 2", "uri": "/Prodigy-3x-Prodigy-2/release/1504243", "community": {"have": 12, "want": 35}, "label": ["Koch International Poland", "Koch International Poland", "Koch International Poland"], "catno": "33972-6", "year": "1997", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1504243", "type": "release", "id": 1504243}, {"style": ["Breakbeat", "Hardcore", "Techno", "Jungle", "Acid"], "thumb": "https://api.discogs.com/image/R-90-1424405-1383240638-9249.jpeg", "format": ["Cassette", "Compilation", "Box Set", "Limited Edition"], "country": "Poland", "title": "Prodigy* - 3x Prodigy 2", "uri": "/Prodigy-3x-Prodigy-2/release/1424405", "community": {"have": 5, "want": 29}, "label": ["Koch International Poland", "Koch International Poland", "Koch International Poland"], "catno": "33972-7", "year": "1997", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1424405", "type": "release", "id": 1424405}, {"style": ["Breakbeat", "Acid", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-1424455-1383244782-4115.jpeg", "format": ["Cassette", "Compilation", "Box Set", "Limited Edition"], "country": "Poland", "title": "Prodigy* - 3x Prodigy 3", "uri": "/Prodigy-3x-Prodigy-3/release/1424455", "community": {"have": 4, "want": 30}, "label": ["Koch International Poland", "Koch International Poland", "Koch International Poland"], "catno": "33965-7", "year": "1997", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1424455", "type": "release", "id": 1424455}, {"style": ["Breakbeat", "Electro", "Big Beat", "Jungle", "Happy Hardcore"], "thumb": "https://api.discogs.com/image/R-90-1504242-1383243041-5579.jpeg", "format": ["CD", "Maxi-Single", "Box Set", "Limited Edition", "Compilation"], "country": "Poland", "title": "Prodigy* - 3x Prodigy 1", "uri": "/Prodigy-3x-Prodigy-1/release/1504242", "community": {"have": 9, "want": 36}, "label": ["Koch International Poland", "Koch International Poland", "Koch International Poland"], "catno": "33973-6", "year": "1997", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1504242", "type": "release", "id": 1504242}, {"style": ["Breakbeat", "Electro", "Big Beat", "Jungle", "Happy Hardcore"], "thumb": "https://api.discogs.com/image/R-90-1424359-1383237211-4608.jpeg", "format": ["Cassette", "Compilation", "Box Set", "Limited Edition"], "country": "Poland", "title": "Prodigy* - 3x Prodigy 1", "uri": "/Prodigy-3x-Prodigy-1/release/1424359", "community": {"have": 5, "want": 28}, "label": ["Koch International Poland", "Koch International Poland", "Koch International Poland"], "catno": "33973-7", "year": "1997", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1424359", "type": "release", "id": 1424359}, {"style": ["Breakbeat", "Acid", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-1504244-1323283992.jpeg", "format": ["CD", "Maxi-Single", "Box Set", "Limited Edition", "Compilation"], "country": "Poland", "title": "Prodigy* - 3x Prodigy 3", "uri": "/Prodigy-3x-Prodigy-3/release/1504244", "community": {"have": 13, "want": 33}, "label": ["Koch International Poland", "Koch International Poland", "Koch International Poland"], "catno": "33965-6", "year": "1997", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/1504244", "type": "release", "id": 1504244}, {"style": ["Brass Band", "Jazz-Funk"], "thumb": "https://api.discogs.com/image/R-90-3654909-1339070773-5688.jpeg", "format": ["Vinyl", "7\""], "country": "UK", "title": "Hackney Colliery Band - Prodigy Medley / Owl Sanctuary", "uri": "/Hackney-Colliery-Band-Prodigy-Medley-Owl-Sanctuary/release/3654909", "community": {"have": 37, "want": 34}, "label": ["Wah Wah 45s"], "catno": "WAH7039", "year": "2012", "genre": ["Brass & Military", "Funk / Soul", "Jazz"], "resource_url": "https://api.discogs.com/releases/3654909", "type": "release", "id": 3654909}, {"thumb": "https://api.discogs.com/image/R-90-3706713-1341145809-7181.jpeg", "format": ["CD", "Album"], "country": "US", "title": "Gajah (Acid Reign)* - Poverty's Prodigy", "uri": "/Gajah-Acid-Reign-Povertys-Prodigy/release/3706713", "community": {"have": 1, "want": 2}, "label": ["Acid Lab Records"], "catno": "ALR-001", "year": "2012", "genre": ["Hip Hop"], "resource_url": "https://api.discogs.com/releases/3706713", "type": "release", "id": 3706713}, {"style": ["Breakbeat", "Techno", "Electro", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-3254091-1345224099-2736.jpeg", "format": ["DVD", "DVD-Video", "PAL", "Unofficial Release"], "country": "Russia", "barcode": ["4602536584243", "F-2120 90585634"], "uri": "/Prodigy-\u0417\u0432\u0451\u0437\u0434\u044b-\u0410\u0432\u0442\u043e\u0440\u0430\u0434\u0438\u043e-Prodigy/release/3254091", "community": {"have": 1, "want": 1}, "label": ["\u0410\u043b\u044c\u044f\u043d\u0441 Imaging"], "catno": "none", "year": "2007", "genre": ["Electronic"], "title": "Prodigy* - \u0417\u0432\u0451\u0437\u0434\u044b \u0410\u0432\u0442\u043e\u0440\u0430\u0434\u0438\u043e - Prodigy", "resource_url": "https://api.discogs.com/releases/3254091", "type": "release", "id": 3254091}, {"style": ["Breakbeat", "Techno", "Big Beat"], "thumb": "https://api.discogs.com/images/default-release.png", "format": ["CD", "Compilation", "Unofficial Release"], "country": "Canada", "title": "Prodigy, The - The Best Prodigy", "uri": "/Prodigy-The-Best-Prodigy/release/4614899", "community": {"have": 1, "want": 0}, "label": ["XL Recordings"], "catno": "none", "year": "1996", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/4614899", "type": "release", "id": 4614899}, {"style": ["Ambient", "Experimental", "Modern Classical"], "thumb": "https://api.discogs.com/image/R-90-5108513-1384823867-5756.jpeg", "format": ["File", "MP3", "Compilation", "Mixed"], "country": "Mexico", "title": "Leandro Fresco - Prodigy Msn M\u00e9xico Podcast", "uri": "/Leandro-Fresco-Prodigy-Msn-M\u00e9xico-Podcast/release/5108513", "community": {"have": 0, "want": 2}, "label": ["Prodigy Msn"], "catno": "099", "year": "2013", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/5108513", "type": "release", "id": 5108513}, {"style": ["Hip Hop"], "thumb": "https://api.discogs.com/image/R-90-4087807-1354820150-9027.jpeg", "format": ["CDr", "Single", "Promo"], "country": "UK", "title": "Jay-Z - 99 Problems - Prodigy Remix", "uri": "/Jay-Z-99-Problems-The-Prodigy-Remix/release/4087807", "community": {"have": 4, "want": 10}, "label": ["Mercury"], "catno": "none", "year": "2010", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/4087807", "type": "release", "id": 4087807}, {"style": ["Chiptune", "Breakcore"], "thumb": "https://api.discogs.com/image/R-90-2585069-1291741548.jpeg", "format": ["File", "MP3", "Compilation"], "country": "Russia", "title": "Various - The Prodigy - Emulator | Punks!!", "uri": "/Various-The-Prodigy-Emulator-Punks/release/2585069", "community": {"have": 1, "want": 0}, "label": ["The Prodigy Guide"], "catno": "none", "year": "2009", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/2585069", "type": "release", "id": 2585069}, {"style": ["Alternative Rock", "House", "Techno", "Big Beat", "Experimental"], "thumb": "https://api.discogs.com/images/default-release.png", "format": ["CD", "Compilation", "Partially Mixed", "Unofficial Release"], "country": "Russia", "barcode": ["7 56254 67765", "75625467765", "ITL 021234"], "uri": "/Various-Tribute-To-Prodigy/release/3403189", "community": {"have": 1, "want": 1}, "label": ["Halahup"], "catno": "ITL 021234", "genre": ["Electronic", "Rock"], "title": "Various - Tribute To Prodigy", "resource_url": "https://api.discogs.com/releases/3403189", "type": "release", "id": 3403189}, {"style": ["Death Metal"], "thumb": "https://api.discogs.com/image/R-90-4183124-1388628699-8610.jpeg", "format": ["CDr", "Promo", "Mini-Album"], "country": "Sweden", "title": "Death Maze - Prodigy Of Death", "uri": "/Death-Maze-Prodigy-Of-Death/release/4183124", "community": {"have": 1, "want": 0}, "label": ["Dimrass Studios, Ume\u00e5", "Not On Label"], "catno": "", "year": "2008", "genre": ["Rock"], "resource_url": "https://api.discogs.com/releases/4183124", "type": "release", "id": 4183124}, {"style": ["Spoken Word"], "thumb": "https://api.discogs.com/image/R-90-483712-1177177737.jpeg", "format": ["CD", "Unofficial Release"], "country": "UK", "barcode": ["823564019420", "S10513 ABCD 194", "ISBN 1842402951"], "uri": "/Prodigy-Maximum-Prodigy-The-Unauthorised-Biography-Of-The-Prodigy/release/483712", "community": {"have": 13, "want": 2}, "label": ["Chrome Dreams", "Chrome Dreams", "Maximum", "Chrome Dreams", "Chrome Dreams"], "catno": "ABCD194", "year": "2004", "genre": ["Non-Music"], "title": "Prodigy, The - Maximum Prodigy (The Unauthorised Biography Of The Prodigy)", "resource_url": "https://api.discogs.com/releases/483712", "type": "release", "id": 483712}, {"style": ["House"], "thumb": "https://api.discogs.com/image/R-90-9907-1398962319-4581.jpeg", "format": ["Vinyl", "12\"", "33 \u2153 RPM", "EP"], "country": "US", "barcode": ["TM\u2022002 A [unreadable]", "TM\u2022002 B [unreadable]", "BMI"], "uri": "/Brett-Dancer-Rhythm-Prodigy-EP/release/9907", "community": {"have": 60, "want": 278}, "label": ["Track Mode", "Third Mode Music", "Third Mode Music"], "catno": "TM-002", "year": "1995", "genre": ["Electronic"], "title": "Brett Dancer - Rhythm Prodigy E.P.", "resource_url": "https://api.discogs.com/releases/9907", "type": "release", "id": 9907}, {"style": ["Goth Rock", "Ethereal"], "thumb": "https://api.discogs.com/image/R-90-725225-1309562875.jpeg", "format": ["CD", "Limited Edition"], "country": "Belgium", "title": "Swan Death - Darkness, Prodigy And Virtuosity", "uri": "/Swan-Death-Darkness-Prodigy-And-Virtuosity/release/725225", "community": {"have": 11, "want": 8}, "label": ["Mbs Records"], "catno": "MBS 94001", "year": "1993", "genre": ["Electronic", "Rock"], "resource_url": "https://api.discogs.com/releases/725225", "type": "release", "id": 725225}, {"style": ["Breakbeat", "Hardcore"], "thumb": "https://api.discogs.com/image/R-90-338303-1098383827.jpg", "format": ["Vinyl", "12\"", "Unofficial Release", "EP", "33 \u2153 RPM"], "country": "", "title": "Prodigy, The - The Prodigy E.P.", "uri": "/Prodigy-The-Prodigy-EP/release/338303", "community": {"have": 80, "want": 55}, "label": ["Not On Label (The Prodigy)"], "catno": "PEP 001", "year": "2004", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/338303", "type": "release", "id": 338303}, {"style": ["Gangsta"], "thumb": "https://api.discogs.com/image/R-90-793558-1160588365.jpeg", "format": ["Vinyl", "12\""], "country": "US", "title": "Duce Duce - Prodigy Of A Nigga / Twisting Dank", "uri": "/Duce-Duce-Prodigy-Of-A-Nigga-Twisting-Dank/release/793558", "community": {"have": 9, "want": 17}, "label": ["Torcha Chamba Productions"], "catno": "TCR 101", "year": "1995", "genre": ["Hip Hop"], "resource_url": "https://api.discogs.com/releases/793558", "type": "release", "id": 793558}, {"style": ["Breakbeat", "Big Beat"], "thumb": "https://api.discogs.com/image/R-90-3460439-1331283929.jpeg", "format": ["File", "MP3"], "country": "US", "title": "Plan B (4) - Ill Manors (The Prodigy Remix)", "uri": "/Plan-B-Ill-Manors-The-Prodigy-Remix/release/3460439", "community": {"have": 10, "want": 2}, "label": ["RCRD LBL"], "catno": "none", "year": "2012", "genre": ["Electronic", "Hip Hop"], "resource_url": "https://api.discogs.com/releases/3460439", "type": "release", "id": 3460439}, {"style": ["Breakbeat"], "thumb": "https://api.discogs.com/image/R-90-3759856-1343257188-1103.jpeg", "format": ["File", "WAV"], "country": "US", "title": "Foo Fighters - White Limo (The Prodigy Remix)", "uri": "/Prodigy-White-Limo-Remix/release/3759856", "community": {"have": 11, "want": 6}, "label": ["Red Ant"], "catno": "none", "year": "2011", "genre": ["Electronic", "Rock"], "resource_url": "https://api.discogs.com/releases/3759856", "type": "release", "id": 3759856}, {"style": ["Breakbeat", "Musical", "Big Beat"], "thumb": "https://api.discogs.com/images/default-release.png", "format": ["VHS", "Compilation", "PAL", "Unofficial Release"], "country": "Russia", "title": "Prodigy* - Prodigy Live At Brixton Academy", "uri": "/Prodigy-Prodigy-Live-At-Brixton-Academy/release/3343249", "community": {"have": 1, "want": 3}, "label": ["\u0412\u0438\u0434\u0435\u043e \u0421\u0430\u043b\u044e\u0442"], "catno": "none", "year": "1997", "genre": ["Electronic", "Stage & Screen"], "resource_url": "https://api.discogs.com/releases/3343249", "type": "release", "id": 3343249}, {"style": ["Breakbeat", "Dubstep"], "thumb": "https://api.discogs.com/image/R-90-2727688-1298315899.jpeg", "format": ["File", "MP3"], "country": "UK", "title": "South Central (3) - The Day I Die (Prodigy Rework)", "uri": "/South-Central-The-Day-I-Die-Prodigy-Rework/release/2727688", "community": {"have": 11, "want": 1}, "label": ["Not On Label (South Central (3) Self-released)"], "catno": "none", "year": "2011", "genre": ["Electronic"], "resource_url": "https://api.discogs.com/releases/2727688", "type": "release", "id": 2727688}, {"thumb": "https://api.discogs.com/image/R-90-1783903-1243088134.gif", "format": ["CDr", "Mixed"], "country": "US", "title": "Littles - What's Beef? Fuck Prodigy!!!", "uri": "/Littles-Whats-Beef-Fuck-Prodigy/release/1783903", "community": {"have": 12, "want": 4}, "label": ["Best Of The Block Entertainment"], "catno": "none", "year": "2004", "genre": ["Hip Hop"], "resource_url": "https://api.discogs.com/releases/1783903", "type": "release", "id": 1783903}]}
16 |
--------------------------------------------------------------------------------