purdie 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -13
  3. data/Rakefile +6 -2
  4. data/features/comments.feature +2 -13
  5. data/features/duff-credentials.feature +2 -3
  6. data/features/flickr-album.feature +5 -0
  7. data/features/flickr-different-size.feature +1 -0
  8. data/features/flickr-with-lookups.feature +1 -0
  9. data/features/rfm.feature +5 -0
  10. data/features/select-file.feature +26 -24
  11. data/features/soundcloud-set.feature +2 -2
  12. data/features/support/fixtures/vcr.nope/A_URL_we_don_t_understand/Handle_a_URL_we_don_t_recognise.yml +125 -0
  13. data/features/support/fixtures/vcr.nope/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +536 -0
  14. data/features/support/fixtures/vcr.nope/Flickr/Generate_Flickr_YAML.yml +131 -0
  15. data/features/support/fixtures/vcr.nope/Flickr/Generate_Flickr_YAML_with_lookups.yml +129 -0
  16. data/features/support/fixtures/vcr.nope/Flickr_album/Generate_Flickr_YAML_for_an_album.yml +2280 -0
  17. data/features/support/fixtures/vcr.nope/Handle_comments/Handle_comments_in_a_source_file.yml +131 -0
  18. data/features/support/fixtures/vcr.nope/Missing_or_bad_credentials/Bad_credentials_for_multiple_services.yml +156 -0
  19. data/features/support/fixtures/{vcr → vcr.nope}/Purdie/Generate_several_YAML.yml +0 -0
  20. data/features/support/fixtures/vcr.nope/Select_a_file_to_process/Choose_file_to_process.yml +220 -0
  21. data/features/support/fixtures/vcr.nope/Set_Flickr_picturesize/Generate_Flickr_YAML.yml +131 -0
  22. data/features/support/fixtures/{vcr/Select_a_file_to_process/Choose_file_to_process.yml → vcr.nope/Soundcloud/Generate_SoundCloud_YAML.yml} +4 -4
  23. data/features/support/fixtures/vcr.nope/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +181 -0
  24. data/features/support/fixtures/vcr.nope/Soundcloud_set/Generate_YAML_for_a_SoundCloud_set.yml +461 -0
  25. data/features/support/fixtures/vcr.nope/Vimeo/Generate_Vimeo_YAML.yml +53 -0
  26. data/features/support/fixtures/vcr.nope/Vimeo_albums/Generate_YAML_for_a_Vimeo_album.yml +210 -0
  27. data/features/support/fixtures/vcr.nope/YouTube/Generate_YouTube_YAML.yml +970 -0
  28. data/features/support/fixtures/vcr.nope/YouTube_playlists/Generate_YAML_for_a_YouTube_playlist.yml +9688 -0
  29. data/features/support/fixtures/vcr/A_URL_we_don_t_understand/Handle_a_URL_we_don_t_recognise.yml +23 -17
  30. data/features/support/fixtures/vcr/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +134 -57
  31. data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML.yml +24 -18
  32. data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML_with_lookups.yml +25 -19
  33. data/features/support/fixtures/vcr/Flickr_album/Generate_Flickr_YAML_for_an_album.yml +1438 -193
  34. data/features/support/fixtures/vcr/Handle_comments/Handle_comments_in_a_source_file.yml +23 -100
  35. data/features/support/fixtures/vcr/Missing_or_bad_credentials/Bad_credentials_for_multiple_services.yml +15 -15
  36. data/features/support/fixtures/vcr/Set_Flickr_picturesize/Generate_Flickr_YAML.yml +24 -18
  37. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML.yml +9 -8
  38. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +14 -14
  39. data/features/support/fixtures/vcr/Soundcloud_set/Generate_YAML_for_a_SoundCloud_set.yml +41 -40
  40. data/features/support/fixtures/vcr/Vimeo/Generate_Vimeo_YAML.yml +8 -8
  41. data/features/support/fixtures/vcr/Vimeo_albums/Generate_YAML_for_a_Vimeo_album.yml +38 -38
  42. data/features/support/fixtures/vcr/YouTube/Generate_YouTube_YAML.yml +873 -873
  43. data/features/support/fixtures/vcr/YouTube_playlists/Generate_YAML_for_a_YouTube_playlist.yml +9108 -1923
  44. data/features/support/hooks.rb +8 -0
  45. data/features/youtube-playlist.feature +0 -2
  46. data/lib/purdie.rb +2 -8
  47. data/lib/purdie/bernard.rb +7 -60
  48. data/lib/purdie/cli.rb +1 -1
  49. data/lib/purdie/config.rb +17 -8
  50. data/lib/purdie/helpers.rb +8 -0
  51. data/lib/purdie/ingester.rb +16 -16
  52. data/lib/purdie/item.rb +36 -0
  53. data/lib/purdie/resolver.rb +15 -0
  54. data/lib/purdie/services/soundcloud.rb +1 -1
  55. data/lib/purdie/source_list.rb +54 -16
  56. data/lib/purdie/version.rb +1 -1
  57. data/purdie.gemspec +19 -19
  58. data/spec/bernard_spec.rb +30 -0
  59. data/spec/config_spec.rb +4 -4
  60. data/spec/item_spec.rb +46 -0
  61. data/spec/resolver_spec.rb +40 -0
  62. data/spec/services/youtube_spec.rb +1 -1
  63. data/spec/source_list_spec.rb +59 -34
  64. data/spec/spec_helper.rb +1 -1
  65. data/spec/support/fixtures/output-generator +2 -0
  66. data/spec/support/fixtures/youtube.tubes +1 -0
  67. data/spec/vcr/Purdie_Bernard/deals_with_YouTube.yml +9686 -0
  68. data/spec/vcr/Purdie_Bernard/processes_files.yml +570 -0
  69. data/spec/vcr/Purdie_Item/populates_itself.yml +182 -0
  70. data/spec/vcr/Purdie_Resolver/resolves_a_Flickr_set.yml +772 -0
  71. data/spec/vcr/Purdie_Resolver/resolves_a_SoundCloud_set.yml +103 -0
  72. data/spec/vcr/Purdie_Resolver/resolves_a_YouTube_playlist.yml +970 -0
  73. data/spec/vcr/Purdie_SourceList/constructs_a_list_from_a_set_URL.yml +772 -0
  74. data/spec/vcr/Purdie_SourceList/make_output/actually_makes_output.yml +526 -0
  75. data/spec/vcr/Purdie_SourceList/process_its_items/processes_items.yml +210 -0
  76. data/spec/vcr/Purdie_SourceList/resolve_sets/constructs_a_list_from_a_set_URL.yml +95 -77
  77. metadata +78 -22
  78. data/features/flickr-alternative-outfile.feature +0 -29
  79. data/features/purdie.feature +0 -48
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c7ede05eac12185b11e1038f17880897a4341680
4
- data.tar.gz: 51528843daf81c4e7e17e503861a971dd224ab9e
3
+ metadata.gz: f65941fa63765aacc68d10628f57455119d907ff
4
+ data.tar.gz: 663003c250b66bed25aad0967c9d770bd6c7890b
5
5
  SHA512:
6
- metadata.gz: bd59f0cb292e5626b3f852cb47285b75f2864afc23417797d5ce1d46ede91b83a99ebf8162667e1e059d35ce0bea40b5acbe5201f09d2ac149cd994ceab1e53c
7
- data.tar.gz: 0d6759f0aa70f5a59a54645628b549c2d4951fdc204a56e76f343af7c0e57610ce7d8cd23872e67d5b7270647a310282c72b200447083e9d61a78b900c58bcaf
6
+ metadata.gz: f0ed75ddf476ad8c33942148d48b11e1ebde71e827d45c36987bcc51f0440b001ab603278b45b4091613ae4560904a06156463a2e50353ea3172b03b6de26de6
7
+ data.tar.gz: e123f933c514079cb7cd5ddcb23d987f9605e97bbecd5ca4f4e477ef628e2e89b4300b768be378a79ca0a64b199973d4b1118122b825646bbba40a1383c182e7
data/README.md CHANGED
@@ -42,17 +42,21 @@ You need to create a *_sources* directory in your Jekyll project, containing fil
42
42
 
43
43
  https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
44
44
  https://soundcloud.com/rawfunkmaharishi/junalbandi-3
45
-
46
- It also resolves sets/albums on Flickr and SoundCloud (and soon Vimeo), so this will work:
45
+
46
+ It also resolves sets/albums on Flickr and SoundCloud (and soon Vimeo), so this kind of thing will work:
47
47
 
48
48
  https://www.flickr.com/photos/pikesley/sets/72157648589429938/
49
- https://soundcloud.com/rawfunkmaharishi/sets/islington-academy-sessions
50
49
 
51
50
  ####Notes about *_sources*:
52
-
53
- * Purdie does not care how many files are in *_sources*, nor if the services are all mixed up together in those files - it will simply dump out one file per service
54
- * If a URL appears multiple times in a resolved list, only the first appearance will be propagated to the output
55
- * You can specify a source file on the command line with the `-f` flag
51
+
52
+ * Purdie maps each input file onto an output file, replacing any extension with _.yaml_, something like:
53
+ * \_sources/flickr.csv -> \_data/flickr.yaml
54
+ * \_sources/pictures.source -> \_data/pictures.yaml
55
+ * \_sources/soundcloud.sounds -> \_data/soundcloud.yaml
56
+ * \_sources/vimeo -> \_data/vimeo.yaml
57
+
58
+ * Mixing up different services in the same input file makes no sense to Purdie. Don't do this
59
+ * If a URL appears multiple times in a resolved list, only the first appearance will be propagated to the output file
56
60
 
57
61
  You also need a *.env* file with the relevant credentials in it:
58
62
 
@@ -62,7 +66,7 @@ You also need a *.env* file with the relevant credentials in it:
62
66
  SOUNDCLOUD_CLIENT_ID: this_a_client_id
63
67
 
64
68
  VIMEO_BEARER_TOKEN: this_is_bearer_token
65
-
69
+
66
70
  YOUTUBE_API_KEY: this_is_key_for_youtube
67
71
 
68
72
  (get those things from [Flickr](https://www.flickr.com/services/apps/create/apply), [SoundCloud](http://soundcloud.com/you/apps/new), [Vimeo](https://developer.vimeo.com/apps/new) and [YouTube](https://console.developers.google.com/project))
@@ -72,12 +76,12 @@ And then you can run
72
76
  purdie fetch
73
77
 
74
78
  (`fetch` is the default task (in fact currently the only task), so just `purdie` will work) and it will dump out YAML files into *_data*:
75
-
79
+
76
80
  flickr.yaml
81
+ pictures.yaml
77
82
  soundcloud.yaml
78
83
  vimeo.yaml
79
- youtube.yaml
80
-
84
+
81
85
  ready for Jekyll to consume.
82
86
 
83
87
  ###Customisation
@@ -109,9 +113,9 @@ There's no reason I couldn't support other services - I've already added [YouTub
109
113
  * includes the `Purdie::Ingester` module, and
110
114
  * sports a `::matcher` class method which returns a string which will pick a URL out of an input file, and
111
115
  * has a `#distill` method which takes a URL representing an item on the service and returns a hash of metadata, see e.g.
112
- * [Flickr](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/flickr.rb#L27)
116
+ * [Flickr](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/flickr.rb#L33)
113
117
  * [SoundCloud](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/soundcloud.rb#L13)
114
- * [Vimeo](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/vimeo.rb#L15)
118
+ * [Vimeo](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/vimeo.rb#L20)
115
119
  * and optionally a `::resolve` class method which takes a set or album URL for the service and returns a list of URLs for individual items
116
120
 
117
121
  then this should all Just Work. There's definitely a blog post in this, because Ruby introspection and metaprogramming is just mind-bogglingly powerful (and dangerous).
data/Rakefile CHANGED
@@ -5,6 +5,10 @@ require 'coveralls/rake/task'
5
5
 
6
6
  Coveralls::RakeTask.new
7
7
  RSpec::Core::RakeTask.new
8
- Cucumber::Rake::Task.new
8
+ #Cucumber::Rake::Task.new
9
9
 
10
- task :default => [:spec, :cucumber, 'coveralls:push']
10
+ Cucumber::Rake::Task.new(:features) do |t|
11
+ t.cucumber_opts = "features --tags ~@wip"
12
+ end
13
+
14
+ task :default => [:spec, :features, 'coveralls:push']
@@ -2,24 +2,13 @@
2
2
  Feature: Handle comments
3
3
 
4
4
  Scenario: Handle comments in a source file
5
- Given a file named "_sources/sources.source" with:
5
+ Given a file named "_sources/flickr.source" with:
6
6
  """
7
- https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
8
7
  # This is a comment
9
8
  https://www.flickr.com/photos/rawfunkmaharishi/15631479625/
10
9
  """
11
10
  When I successfully run `purdie fetch`
12
- Then a file named "_data/soundcloud.yaml" should exist
13
- And the file "_data/soundcloud.yaml" should contain:
14
- """
15
- - title: Hexaflexagon
16
- id: 193008299
17
- location: Islington Academy
18
- date: '2015-02-18'
19
- license: Attribution-NonCommercial-ShareAlike
20
- license_url: http://creativecommons.org/licenses/by-nc-sa/4.0/
21
- """
22
- And a file named "_data/flickr.yaml" should exist
11
+ Then a file named "_data/flickr.yaml" should exist
23
12
  And the file "_data/flickr.yaml" should contain:
24
13
  """
25
14
  - title: The Comedy, October 2014
@@ -1,5 +1,5 @@
1
1
  @vcr
2
-
2
+ @announce-stdout
3
3
  Feature: Missing or bad credentials
4
4
 
5
5
  Scenario: Attempt to process SoundCloud URLs with missing credentials
@@ -20,14 +20,13 @@ Feature: Missing or bad credentials
20
20
  """
21
21
  https://vimeo.com/110132671
22
22
  https://vimeo.com/110133117
23
- https://www.youtube.com/watch?v=Qt_J0jNqtZg&list=PLuPLM2FI60-M0-aWejF9WgB-Dkt1TuQXv&index=2
24
23
  """
25
24
  And no credentials for Vimeo
26
25
  And bad credentials for YouTube
27
26
  When I run `purdie fetch`
28
27
  Then the stderr should contain:
29
28
  """
30
- Missing or duff credentials for: Vimeo, YouTube
29
+ Missing or duff credentials for: Vimeo
31
30
  """
32
31
  And I restore the credentials for Vimeo
33
32
  And I restore the credentials for YouTube
@@ -6,6 +6,11 @@ Feature: Flickr album
6
6
  """
7
7
  https://www.flickr.com/photos/pikesley/sets/72157649827363868/
8
8
  """
9
+ And a file named "_config/purdie.yaml" with:
10
+ """
11
+ photographer_lookups:
12
+ pikesley: sam
13
+ """
9
14
  When I successfully run `purdie fetch`
10
15
  Then a file named "_data/flickr.yaml" should exist
11
16
  And the file "_data/flickr.yaml" should contain:
@@ -1,3 +1,4 @@
1
+ @wip
1
2
  @vcr
2
3
  Feature: Set Flickr picturesize
3
4
 
@@ -1,3 +1,4 @@
1
+ @wip
1
2
  @vcr
2
3
  Feature: Flickr
3
4
 
@@ -1,3 +1,4 @@
1
+ @clearconf
1
2
  @vcr
2
3
  Feature: First contact with the Real World
3
4
 
@@ -17,6 +18,10 @@ Feature: First contact with the Real World
17
18
  https://vimeo.com/117102891
18
19
  https://vimeo.com/110132671
19
20
  """
21
+ And a file named "_config/purdie.yaml" with:
22
+ """
23
+ default_title: Raw Funk Maharishi
24
+ """
20
25
  When I successfully run `purdie fetch`
21
26
  Then a file named "_data/flickr.yaml" should exist
22
27
  And the file "_data/flickr.yaml" should contain:
@@ -1,24 +1,26 @@
1
- @vcr
2
- Feature: Select a file to process
3
-
4
- Scenario: Choose file to process
5
- Given a file named "_sources/soundcloud.source" with:
6
- """
7
- https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
8
- """
9
- And a file named "_sources/flickr.source" with:
10
- """
11
- https://www.flickr.com/photos/rawfunkmaharishi/15631479625/
12
- """
13
- When I successfully run `purdie fetch -f _sources/soundcloud.source`
14
- Then a file named "_data/soundcloud.yaml" should exist
15
- And the file "_data/soundcloud.yaml" should contain:
16
- """
17
- - title: Hexaflexagon
18
- id: 193008299
19
- location: Islington Academy
20
- date: '2015-02-18'
21
- license: Attribution-NonCommercial-ShareAlike
22
- license_url: http://creativecommons.org/licenses/by-nc-sa/4.0/
23
- """
24
- And a file named "_data/flickr.yaml" should not exist
1
+ ### @wtf
2
+ ### @vcr
3
+ ### Feature: Select a file to process
4
+ ###
5
+ ### Scenario: Choose file to process
6
+ ### Given a file named "_sources/soundcloud.source" with:
7
+ ### """
8
+ ### https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
9
+ ### """
10
+ ### And a file named "_sources/flickr.source" with:
11
+ ### """
12
+ ### https://www.flickr.com/photos/rawfunkmaharishi/15631479625/
13
+ ### """
14
+ ### When I successfully run `purdie fetch -f _sources/soundcloud.source`
15
+ ### Then a file named "_data/soundcloud.yaml" should exist
16
+ ### And the file "_data/soundcloud.yaml" should contain:
17
+ ### """
18
+ ### - title: Hexaflexagon
19
+ ### id: 193008299
20
+ ### location: Islington Academy
21
+ ### date: '2015-02-18'
22
+ ### license: Attribution-NonCommercial-ShareAlike
23
+ ### license_url: http://creativecommons.org/licenses/by-nc-sa/4.0/
24
+ ### """
25
+ ### And a file named "_data/flickr.yaml" should not exist
26
+ ###
@@ -7,8 +7,8 @@ Feature: Soundcloud set
7
7
  https://soundcloud.com/rawfunkmaharishi/sets/islington-academy-sessions
8
8
  """
9
9
  When I successfully run `purdie fetch`
10
- Then a file named "_data/soundcloud.yaml" should exist
11
- And the file "_data/soundcloud.yaml" should contain:
10
+ Then a file named "_data/soundcloud-set.yaml" should exist
11
+ And the file "_data/soundcloud-set.yaml" should contain:
12
12
  """
13
13
  ---
14
14
  - title: Hexaflexagon
@@ -0,0 +1,125 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.flickr.com/services/rest/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: photo_id=15631479625&method=flickr.photos.getInfo&format=json&nojsoncallback=1
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - FlickRaw/0.9.8
16
+ Authorization:
17
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
18
+ oauth_nonce="lStJS%2BN%2FCaUkNeTkqy96sNrrbLb4jG9KHEIFoqANl2o%3D", oauth_signature="<FLICKR_SECRET>%26",
19
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1426093984", oauth_token="",
20
+ oauth_version="1.0"
21
+ Content-Type:
22
+ - application/x-www-form-urlencoded
23
+ response:
24
+ status:
25
+ code: 200
26
+ message: OK
27
+ headers:
28
+ Date:
29
+ - Wed, 11 Mar 2015 17:13:05 GMT
30
+ Content-Type:
31
+ - application/json
32
+ Content-Length:
33
+ - '665'
34
+ P3p:
35
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
36
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
37
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
38
+ Cache-Control:
39
+ - private
40
+ X-Served-By:
41
+ - www58.flickr.bf1.yahoo.com
42
+ Vary:
43
+ - Accept-Encoding
44
+ Age:
45
+ - '0'
46
+ Via:
47
+ - http/1.1 fts116.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
+ http/1.1 r21.ycpi.dea.yahoo.net (ApacheTrafficServer [cMsSf ])
49
+ Server:
50
+ - ATS
51
+ Connection:
52
+ - keep-alive
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ string: '{"photo":{"id":"15631479625","secret":"b6168ee903","server":"3933","farm":4,"dateuploaded":"1414326010","isfavorite":0,"license":"1","safety_level":"0","rotation":0,"originalsecret":"3191340cdb","originalformat":"jpg","owner":{"nsid":"128943844@N06","username":"rawfunkmaharishi","realname":"Raw
56
+ Funk Maharishi","location":"","iconserver":"3933","iconfarm":4,"path_alias":"rawfunkmaharishi"},"title":{"_content":"The
57
+ Comedy, October 2014"},"description":{"_content":""},"visibility":{"ispublic":1,"isfriend":0,"isfamily":0},"dates":{"posted":"1414326010","taken":"2014-10-22
58
+ 15:54:24","takengranularity":"0","takenunknown":"0","lastupdate":"1416111853"},"views":"94","editability":{"cancomment":0,"canaddmeta":0},"publiceditability":{"cancomment":1,"canaddmeta":0},"usage":{"candownload":1,"canblog":0,"canprint":0,"canshare":1},"comments":{"_content":"0"},"notes":{"note":[]},"people":{"haspeople":0},"tags":{"tag":[{"id":"128898522-15631479625-1422028","author":"128943844@N06","authorname":"rawfunkmaharishi","raw":"the
59
+ comedy","_content":"thecomedy","machine_tag":0},{"id":"128898522-15631479625-17975","author":"128943844@N06","authorname":"rawfunkmaharishi","raw":"gigs","_content":"gigs","machine_tag":0},{"id":"128898522-15631479625-228989594","author":"128943844@N06","authorname":"rawfunkmaharishi","raw":"photographer:kim","_content":"photographerkim","machine_tag":0}]},"urls":{"url":[{"type":"photopage","_content":"https:\/\/www.flickr.com\/photos\/rawfunkmaharishi\/15631479625\/"}]},"media":"photo"},"stat":"ok"}'
60
+ http_version:
61
+ recorded_at: Wed, 11 Mar 2015 17:13:05 GMT
62
+ - request:
63
+ method: post
64
+ uri: https://api.flickr.com/services/rest/
65
+ body:
66
+ encoding: US-ASCII
67
+ string: method=flickr.photos.licenses.getInfo&format=json&nojsoncallback=1
68
+ headers:
69
+ Accept-Encoding:
70
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
71
+ Accept:
72
+ - "*/*"
73
+ User-Agent:
74
+ - FlickRaw/0.9.8
75
+ Authorization:
76
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
77
+ oauth_nonce="Wys2vnSmSwlJVK6t4GZKjntby0j9A6Al%2FLvTo3sEsdw%3D", oauth_signature="<FLICKR_SECRET>%26",
78
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1426093985", oauth_token="",
79
+ oauth_version="1.0"
80
+ Content-Type:
81
+ - application/x-www-form-urlencoded
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Date:
88
+ - Wed, 11 Mar 2015 17:13:05 GMT
89
+ Content-Type:
90
+ - application/json
91
+ Content-Length:
92
+ - '314'
93
+ P3p:
94
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
95
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
96
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
97
+ Cache-Control:
98
+ - private
99
+ X-Served-By:
100
+ - www47.flickr.bf1.yahoo.com
101
+ Vary:
102
+ - Accept-Encoding
103
+ Age:
104
+ - '0'
105
+ Via:
106
+ - http/1.1 fts122.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
107
+ http/1.1 r10.ycpi.dea.yahoo.net (ApacheTrafficServer [cMsSf ])
108
+ Server:
109
+ - ATS
110
+ Connection:
111
+ - keep-alive
112
+ body:
113
+ encoding: ASCII-8BIT
114
+ string: '{"licenses":{"license":[{"id":"0","name":"All Rights Reserved","url":""},{"id":"4","name":"Attribution
115
+ License","url":"https:\/\/creativecommons.org\/licenses\/by\/2.0\/"},{"id":"6","name":"Attribution-NoDerivs
116
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nd\/2.0\/"},{"id":"3","name":"Attribution-NonCommercial-NoDerivs
117
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/"},{"id":"2","name":"Attribution-NonCommercial
118
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc\/2.0\/"},{"id":"1","name":"Attribution-NonCommercial-ShareAlike
119
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/"},{"id":"5","name":"Attribution-ShareAlike
120
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/"},{"id":"7","name":"No
121
+ known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
122
+ States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"}]},"stat":"ok"}'
123
+ http_version:
124
+ recorded_at: Wed, 11 Mar 2015 17:13:05 GMT
125
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,536 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.flickr.com/services/rest/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: photo_id=15950875724&method=flickr.photos.getInfo&format=json&nojsoncallback=1
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - FlickRaw/0.9.8
16
+ Authorization:
17
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
18
+ oauth_nonce="6%2BGrs%2Bn6FZ6ua9eHOBrzYpKVbz%2BNsl8cfLESnFHLe0E%3D", oauth_signature="<FLICKR_SECRET>%26",
19
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1427833105", oauth_token="",
20
+ oauth_version="1.0"
21
+ Content-Type:
22
+ - application/x-www-form-urlencoded
23
+ response:
24
+ status:
25
+ code: 200
26
+ message: OK
27
+ headers:
28
+ Date:
29
+ - Tue, 31 Mar 2015 20:18:26 GMT
30
+ Content-Type:
31
+ - application/json
32
+ Content-Length:
33
+ - '543'
34
+ P3p:
35
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
36
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
37
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
38
+ Cache-Control:
39
+ - private
40
+ X-Served-By:
41
+ - www21.flickr.bf1.yahoo.com
42
+ Vary:
43
+ - Accept-Encoding
44
+ Age:
45
+ - '2'
46
+ Via:
47
+ - http/1.1 fts122.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
+ http/1.1 r13.ycpi.ir2.yahoo.net (ApacheTrafficServer [cMsSf ])
49
+ Server:
50
+ - ATS
51
+ Strict-Transport-Security:
52
+ - max-age=259200
53
+ Connection:
54
+ - keep-alive
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"photo":{"id":"15950875724","secret":"23d58be214","server":"7398","farm":8,"dateuploaded":"1424289792","isfavorite":0,"license":"2","safety_level":"0","rotation":0,"originalsecret":"24a89b0cfe","originalformat":"jpg","owner":{"nsid":"54115632@N00","username":"cluttercup","realname":"Jane
58
+ Dickson","location":"London, UK","iconserver":"7338","iconfarm":8,"path_alias":"cluttercup"},"title":{"_content":""},"description":{"_content":""},"visibility":{"ispublic":1,"isfriend":0,"isfamily":0},"dates":{"posted":"1424289792","taken":"2015-02-18
59
+ 16:56:20","takengranularity":"0","takenunknown":"0","lastupdate":"1424289832"},"views":"39","editability":{"cancomment":0,"canaddmeta":0},"publiceditability":{"cancomment":1,"canaddmeta":0},"usage":{"candownload":1,"canblog":0,"canprint":0,"canshare":1},"comments":{"_content":"0"},"notes":{"note":[]},"people":{"haspeople":0},"tags":{"tag":[]},"urls":{"url":[{"type":"photopage","_content":"https:\/\/www.flickr.com\/photos\/cluttercup\/15950875724\/"}]},"media":"photo"},"stat":"ok"}'
60
+ http_version:
61
+ recorded_at: Tue, 31 Mar 2015 20:18:26 GMT
62
+ - request:
63
+ method: post
64
+ uri: https://api.flickr.com/services/rest/
65
+ body:
66
+ encoding: US-ASCII
67
+ string: method=flickr.photos.licenses.getInfo&format=json&nojsoncallback=1
68
+ headers:
69
+ Accept-Encoding:
70
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
71
+ Accept:
72
+ - "*/*"
73
+ User-Agent:
74
+ - FlickRaw/0.9.8
75
+ Authorization:
76
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
77
+ oauth_nonce="dROaFhiz%2FgKYxlHUucU42NAFitV3J6o4YaTsWC%2BTh60%3D", oauth_signature="<FLICKR_SECRET>%26",
78
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1427833106", oauth_token="",
79
+ oauth_version="1.0"
80
+ Content-Type:
81
+ - application/x-www-form-urlencoded
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Date:
88
+ - Tue, 31 Mar 2015 20:18:26 GMT
89
+ Content-Type:
90
+ - application/json
91
+ Content-Length:
92
+ - '371'
93
+ P3p:
94
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
95
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
96
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
97
+ Cache-Control:
98
+ - private
99
+ X-Served-By:
100
+ - www298.flickr.bf1.yahoo.com
101
+ Vary:
102
+ - Accept-Encoding
103
+ Age:
104
+ - '0'
105
+ Via:
106
+ - http/1.1 fts119.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
107
+ http/1.1 r05.ycpi.ams.yahoo.net (ApacheTrafficServer [cMsSf ])
108
+ Server:
109
+ - ATS
110
+ Strict-Transport-Security:
111
+ - max-age=259200
112
+ Connection:
113
+ - keep-alive
114
+ body:
115
+ encoding: ASCII-8BIT
116
+ string: '{"licenses":{"license":[{"id":"0","name":"All Rights Reserved","url":""},{"id":"4","name":"Attribution
117
+ License","url":"https:\/\/creativecommons.org\/licenses\/by\/2.0\/"},{"id":"6","name":"Attribution-NoDerivs
118
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nd\/2.0\/"},{"id":"3","name":"Attribution-NonCommercial-NoDerivs
119
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/"},{"id":"2","name":"Attribution-NonCommercial
120
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc\/2.0\/"},{"id":"1","name":"Attribution-NonCommercial-ShareAlike
121
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/"},{"id":"5","name":"Attribution-ShareAlike
122
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/"},{"id":"7","name":"No
123
+ known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
124
+ States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"},{"id":"9","name":"Public
125
+ Domain Dedication (CC0)","url":"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/"},{"id":"10","name":"Public
126
+ Domain Mark","url":"https:\/\/creativecommons.org\/publicdomain\/mark\/1.0\/"}]},"stat":"ok"}'
127
+ http_version:
128
+ recorded_at: Tue, 31 Mar 2015 20:18:26 GMT
129
+ - request:
130
+ method: post
131
+ uri: https://api.flickr.com/services/rest/
132
+ body:
133
+ encoding: US-ASCII
134
+ string: photo_id=16579675721&method=flickr.photos.getInfo&format=json&nojsoncallback=1
135
+ headers:
136
+ Accept-Encoding:
137
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
138
+ Accept:
139
+ - "*/*"
140
+ User-Agent:
141
+ - FlickRaw/0.9.8
142
+ Authorization:
143
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
144
+ oauth_nonce="Feaa37TfZQC6n%2Fu%2Bw%2FFvZnvi779gyYcybKXpul1FSyA%3D", oauth_signature="<FLICKR_SECRET>%26",
145
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1427833106", oauth_token="",
146
+ oauth_version="1.0"
147
+ Content-Type:
148
+ - application/x-www-form-urlencoded
149
+ response:
150
+ status:
151
+ code: 200
152
+ message: OK
153
+ headers:
154
+ Date:
155
+ - Tue, 31 Mar 2015 20:18:26 GMT
156
+ Content-Type:
157
+ - application/json
158
+ Content-Length:
159
+ - '546'
160
+ P3p:
161
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
162
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
163
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
164
+ Cache-Control:
165
+ - private
166
+ X-Served-By:
167
+ - www313.flickr.bf1.yahoo.com
168
+ Vary:
169
+ - Accept-Encoding
170
+ Age:
171
+ - '0'
172
+ Via:
173
+ - http/1.1 fts107.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
174
+ http/1.1 r05.ycpi.ams.yahoo.net (ApacheTrafficServer [cMsSf ])
175
+ Server:
176
+ - ATS
177
+ Strict-Transport-Security:
178
+ - max-age=259200
179
+ Connection:
180
+ - keep-alive
181
+ body:
182
+ encoding: ASCII-8BIT
183
+ string: '{"photo":{"id":"16579675721","secret":"f765c42f99","server":"7418","farm":8,"dateuploaded":"1424360169","isfavorite":0,"license":"2","safety_level":"0","rotation":0,"originalsecret":"810967e8d9","originalformat":"jpg","owner":{"nsid":"54115632@N00","username":"cluttercup","realname":"Jane
184
+ Dickson","location":"London, UK","iconserver":"7338","iconfarm":8,"path_alias":"cluttercup"},"title":{"_content":""},"description":{"_content":""},"visibility":{"ispublic":1,"isfriend":0,"isfamily":0},"dates":{"posted":"1424360169","taken":"2015-02-18
185
+ 16:28:17","takengranularity":"0","takenunknown":"0","lastupdate":"1424360294"},"views":"26","editability":{"cancomment":0,"canaddmeta":0},"publiceditability":{"cancomment":1,"canaddmeta":0},"usage":{"candownload":1,"canblog":0,"canprint":0,"canshare":1},"comments":{"_content":"0"},"notes":{"note":[]},"people":{"haspeople":0},"tags":{"tag":[]},"urls":{"url":[{"type":"photopage","_content":"https:\/\/www.flickr.com\/photos\/cluttercup\/16579675721\/"}]},"media":"photo"},"stat":"ok"}'
186
+ http_version:
187
+ recorded_at: Tue, 31 Mar 2015 20:18:26 GMT
188
+ - request:
189
+ method: post
190
+ uri: https://api.flickr.com/services/rest/
191
+ body:
192
+ encoding: US-ASCII
193
+ string: method=flickr.photos.licenses.getInfo&format=json&nojsoncallback=1
194
+ headers:
195
+ Accept-Encoding:
196
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
197
+ Accept:
198
+ - "*/*"
199
+ User-Agent:
200
+ - FlickRaw/0.9.8
201
+ Authorization:
202
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
203
+ oauth_nonce="xdypdSj8qelXLUVOW8dpku2BnnzAQKiIz%2BYR5PV1ur4%3D", oauth_signature="<FLICKR_SECRET>%26",
204
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1427833106", oauth_token="",
205
+ oauth_version="1.0"
206
+ Content-Type:
207
+ - application/x-www-form-urlencoded
208
+ response:
209
+ status:
210
+ code: 200
211
+ message: OK
212
+ headers:
213
+ Date:
214
+ - Tue, 31 Mar 2015 20:18:27 GMT
215
+ Content-Type:
216
+ - application/json
217
+ Content-Length:
218
+ - '371'
219
+ P3p:
220
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
221
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
222
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
223
+ Cache-Control:
224
+ - private
225
+ X-Served-By:
226
+ - www15.flickr.bf1.yahoo.com
227
+ Vary:
228
+ - Accept-Encoding
229
+ Age:
230
+ - '0'
231
+ Via:
232
+ - http/1.1 fts104.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
233
+ http/1.1 r09.ycpi.ir2.yahoo.net (ApacheTrafficServer [cMsSf ])
234
+ Server:
235
+ - ATS
236
+ Strict-Transport-Security:
237
+ - max-age=259200
238
+ Connection:
239
+ - keep-alive
240
+ body:
241
+ encoding: ASCII-8BIT
242
+ string: '{"licenses":{"license":[{"id":"0","name":"All Rights Reserved","url":""},{"id":"4","name":"Attribution
243
+ License","url":"https:\/\/creativecommons.org\/licenses\/by\/2.0\/"},{"id":"6","name":"Attribution-NoDerivs
244
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nd\/2.0\/"},{"id":"3","name":"Attribution-NonCommercial-NoDerivs
245
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/"},{"id":"2","name":"Attribution-NonCommercial
246
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc\/2.0\/"},{"id":"1","name":"Attribution-NonCommercial-ShareAlike
247
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/"},{"id":"5","name":"Attribution-ShareAlike
248
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/"},{"id":"7","name":"No
249
+ known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
250
+ States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"},{"id":"9","name":"Public
251
+ Domain Dedication (CC0)","url":"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/"},{"id":"10","name":"Public
252
+ Domain Mark","url":"https:\/\/creativecommons.org\/publicdomain\/mark\/1.0\/"}]},"stat":"ok"}'
253
+ http_version:
254
+ recorded_at: Tue, 31 Mar 2015 20:18:27 GMT
255
+ - request:
256
+ method: get
257
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
258
+ body:
259
+ encoding: US-ASCII
260
+ string: ''
261
+ headers:
262
+ User-Agent:
263
+ - SoundCloud Ruby Wrapper 0.13.3
264
+ response:
265
+ status:
266
+ code: 302
267
+ message: Found
268
+ headers:
269
+ Access-Control-Allow-Headers:
270
+ - Accept, Authorization, Content-Type, Origin
271
+ Access-Control-Allow-Methods:
272
+ - GET, PUT, POST, DELETE
273
+ Access-Control-Allow-Origin:
274
+ - "*"
275
+ Access-Control-Expose-Headers:
276
+ - Date
277
+ Cache-Control:
278
+ - no-cache
279
+ Content-Type:
280
+ - application/json; charset=utf-8
281
+ Date:
282
+ - Tue, 31 Mar 2015 20:18:27 GMT
283
+ Location:
284
+ - https://api.soundcloud.com/tracks/193008299.json?client_id=<SOUNDCLOUD_CLIENT_ID>
285
+ Server:
286
+ - am/2
287
+ Content-Length:
288
+ - '129'
289
+ body:
290
+ encoding: UTF-8
291
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/193008299.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
292
+ http_version:
293
+ recorded_at: Tue, 31 Mar 2015 20:18:27 GMT
294
+ - request:
295
+ method: get
296
+ uri: https://api.soundcloud.com/tracks/193008299.json?client_id=<SOUNDCLOUD_CLIENT_ID>
297
+ body:
298
+ encoding: US-ASCII
299
+ string: ''
300
+ headers:
301
+ User-Agent:
302
+ - SoundCloud Ruby Wrapper 0.13.3
303
+ response:
304
+ status:
305
+ code: 200
306
+ message: OK
307
+ headers:
308
+ Accept-Ranges:
309
+ - bytes
310
+ Access-Control-Allow-Headers:
311
+ - Accept, Authorization, Content-Type, Origin
312
+ Access-Control-Allow-Methods:
313
+ - GET, PUT, POST, DELETE
314
+ Access-Control-Allow-Origin:
315
+ - "*"
316
+ Access-Control-Expose-Headers:
317
+ - Date
318
+ Cache-Control:
319
+ - max-age=600, public
320
+ Content-Type:
321
+ - application/json; charset=utf-8
322
+ Date:
323
+ - Tue, 31 Mar 2015 20:18:27 GMT
324
+ Etag:
325
+ - '"22a8481cd85e1e7be64128c639cc21b0"'
326
+ Last-Modified:
327
+ - Tue, 31 Mar 2015 16:20:04 GMT
328
+ Server:
329
+ - am/2
330
+ Vary:
331
+ - Accept-Encoding
332
+ - Authorization, Accept
333
+ X-Cache:
334
+ - HIT
335
+ Content-Length:
336
+ - '1555'
337
+ body:
338
+ encoding: UTF-8
339
+ string: '{"kind":"track","id":193008299,"created_at":"2015/02/25 19:24:51 +0000","user_id":56479293,"duration":209626,"commentable":true,"state":"finished","original_content_size":8436471,"last_modified":"2015/02/27
340
+ 17:08:45 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"hexaflexagon-1","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"funk","title":"Hexaflexagon","description":"Islington
341
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193008299","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
342
+ Funk Maharishi","last_modified":"2015/03/23 09:26:53 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/hexaflexagon-1","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/CxyZz6RUbqZN_m.png","stream_url":"https://api.soundcloud.com/tracks/193008299/stream","download_url":"https://api.soundcloud.com/tracks/193008299/download","playback_count":59,"download_count":3,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193008299/attachments","policy":"ALLOW"}'
343
+ http_version:
344
+ recorded_at: Tue, 31 Mar 2015 20:18:27 GMT
345
+ - request:
346
+ method: get
347
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=https://soundcloud.com/rawfunkmaharishi/beer-of-course-but-why
348
+ body:
349
+ encoding: US-ASCII
350
+ string: ''
351
+ headers:
352
+ User-Agent:
353
+ - SoundCloud Ruby Wrapper 0.13.3
354
+ response:
355
+ status:
356
+ code: 302
357
+ message: Found
358
+ headers:
359
+ Access-Control-Allow-Headers:
360
+ - Accept, Authorization, Content-Type, Origin
361
+ Access-Control-Allow-Methods:
362
+ - GET, PUT, POST, DELETE
363
+ Access-Control-Allow-Origin:
364
+ - "*"
365
+ Access-Control-Expose-Headers:
366
+ - Date
367
+ Cache-Control:
368
+ - no-cache
369
+ Content-Type:
370
+ - application/json; charset=utf-8
371
+ Date:
372
+ - Tue, 31 Mar 2015 20:18:27 GMT
373
+ Location:
374
+ - https://api.soundcloud.com/tracks/193006525.json?client_id=<SOUNDCLOUD_CLIENT_ID>
375
+ Server:
376
+ - am/2
377
+ Content-Length:
378
+ - '129'
379
+ body:
380
+ encoding: UTF-8
381
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/193006525.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
382
+ http_version:
383
+ recorded_at: Tue, 31 Mar 2015 20:18:27 GMT
384
+ - request:
385
+ method: get
386
+ uri: https://api.soundcloud.com/tracks/193006525.json?client_id=<SOUNDCLOUD_CLIENT_ID>
387
+ body:
388
+ encoding: US-ASCII
389
+ string: ''
390
+ headers:
391
+ User-Agent:
392
+ - SoundCloud Ruby Wrapper 0.13.3
393
+ response:
394
+ status:
395
+ code: 200
396
+ message: OK
397
+ headers:
398
+ Accept-Ranges:
399
+ - bytes
400
+ Access-Control-Allow-Headers:
401
+ - Accept, Authorization, Content-Type, Origin
402
+ Access-Control-Allow-Methods:
403
+ - GET, PUT, POST, DELETE
404
+ Access-Control-Allow-Origin:
405
+ - "*"
406
+ Access-Control-Expose-Headers:
407
+ - Date
408
+ Cache-Control:
409
+ - max-age=600, public
410
+ Content-Type:
411
+ - application/json; charset=utf-8
412
+ Date:
413
+ - Tue, 31 Mar 2015 20:18:27 GMT
414
+ Etag:
415
+ - '"e670341711b788c7ec34c63c273258db"'
416
+ Last-Modified:
417
+ - Tue, 31 Mar 2015 16:20:05 GMT
418
+ Server:
419
+ - am/2
420
+ Vary:
421
+ - Accept-Encoding
422
+ - Authorization, Accept
423
+ X-Cache:
424
+ - HIT
425
+ Content-Length:
426
+ - '1592'
427
+ body:
428
+ encoding: UTF-8
429
+ string: '{"kind":"track","id":193006525,"created_at":"2015/02/25 19:13:37 +0000","user_id":56479293,"duration":190031,"commentable":true,"state":"finished","original_content_size":7652798,"last_modified":"2015/03/03
430
+ 20:07:21 +0000","sharing":"public","tag_list":"afrobeat \"islington academy
431
+ sessions\"","permalink":"beer-of-course-but-why","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Beer,
432
+ Of Course, But Why","description":"Islington Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193006525","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
433
+ Funk Maharishi","last_modified":"2015/03/23 09:26:53 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/beer-of-course-but-why","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/qBjvlEuOtgIA_m.png","stream_url":"https://api.soundcloud.com/tracks/193006525/stream","download_url":"https://api.soundcloud.com/tracks/193006525/download","playback_count":47,"download_count":1,"favoritings_count":1,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193006525/attachments","policy":"ALLOW"}'
434
+ http_version:
435
+ recorded_at: Tue, 31 Mar 2015 20:18:28 GMT
436
+ - request:
437
+ method: get
438
+ uri: https://api.vimeo.com/videos/117102891
439
+ body:
440
+ encoding: US-ASCII
441
+ string: ''
442
+ headers:
443
+ Authorization:
444
+ - bearer <VIMEO_BEARER_TOKEN>
445
+ Accept:
446
+ - application/json
447
+ response:
448
+ status:
449
+ code: 200
450
+ message: OK
451
+ headers:
452
+ Date:
453
+ - Tue, 31 Mar 2015 20:18:29 GMT
454
+ Server:
455
+ - nginx
456
+ Content-Type:
457
+ - application/vnd.vimeo.video+json
458
+ Cache-Control:
459
+ - no-cache, max-age=315360000
460
+ Expires:
461
+ - Fri, 28 Mar 2025 20:18:28 GMT
462
+ Content-Length:
463
+ - '3714'
464
+ Accept-Ranges:
465
+ - bytes
466
+ Via:
467
+ - 1.1 varnish
468
+ Age:
469
+ - '0'
470
+ X-Served-By:
471
+ - cache-lcy1126-LCY
472
+ X-Cache:
473
+ - MISS
474
+ X-Cache-Hits:
475
+ - '0'
476
+ X-Timer:
477
+ - S1427833108.171735,VS0,VE1051
478
+ Vary:
479
+ - Accept,Vimeo-Client-Id,Accept-Encoding
480
+ body:
481
+ encoding: UTF-8
482
+ string: '{"uri":"/videos/117102891","name":"Bernard","description":null,"link":"https://vimeo.com/rawfunkmaharishi/bernard","duration":239,"width":1280,"language":null,"height":720,"created_time":"2015-01-18T17:26:10+00:00","modified_time":"2015-03-23T22:11:19+00:00","content_rating":["unrated"],"license":"by-nc-sa","privacy":{"view":"anybody","embed":"public","download":true,"add":true,"comments":"anybody"},"pictures":{"uri":"/videos/117102891/pictures/503683214","active":true,"sizes":[{"width":100,"height":75,"link":"https://i.vimeocdn.com/video/503683214_100x75.jpg"},{"width":200,"height":150,"link":"https://i.vimeocdn.com/video/503683214_200x150.jpg"},{"width":295,"height":166,"link":"https://i.vimeocdn.com/video/503683214_295x166.jpg"},{"width":640,"height":360,"link":"https://i.vimeocdn.com/video/503683214_640x360.jpg"},{"width":960,"height":540,"link":"https://i.vimeocdn.com/video/503683214_960x540.jpg"},{"width":1280,"height":720,"link":"https://i.vimeocdn.com/video/503683214_1280x720.jpg"}]},"tags":[],"stats":{"plays":24},"metadata":{"connections":{"comments":{"uri":"/videos/117102891/comments","options":["GET","POST"],"total":0},"credits":{"uri":"/videos/117102891/credits","options":["GET","POST"],"total":1},"likes":{"uri":"/videos/117102891/likes","options":["GET"],"total":0},"pictures":{"uri":"/videos/117102891/pictures","options":["GET","POST"],"total":1},"texttracks":{"uri":"/videos/117102891/texttracks","options":["GET","POST"],"total":0}},"interactions":{"watchlater":{"added":false,"added_time":null,"uri":"/users/33772623/watchlater/117102891"}}},"user":{"uri":"/users/33772623","name":"Raw
483
+ Funk Maharishi","link":"https://vimeo.com/rawfunkmaharishi","location":null,"bio":null,"created_time":"2014-10-27T12:06:25+00:00","account":"basic","pictures":{"uri":"/users/33772623/pictures/8588995","active":true,"sizes":[{"width":30,"height":30,"link":"https://i.vimeocdn.com/portrait/8588995_30x30.jpg"},{"width":75,"height":75,"link":"https://i.vimeocdn.com/portrait/8588995_75x75.jpg"},{"width":100,"height":100,"link":"https://i.vimeocdn.com/portrait/8588995_100x100.jpg"},{"width":300,"height":300,"link":"https://i.vimeocdn.com/portrait/8588995_300x300.jpg"}]},"websites":[{"name":"http://rawfunkmaharishi.uk/","link":"http://rawfunkmaharishi.uk/","description":null}],"metadata":{"connections":{"activities":{"uri":"/users/33772623/activities","options":["GET"]},"albums":{"uri":"/users/33772623/albums","options":["GET"],"total":1},"channels":{"uri":"/users/33772623/channels","options":["GET"],"total":0},"feed":{"uri":"/users/33772623/feed","options":["GET"]},"followers":{"uri":"/users/33772623/followers","options":["GET"],"total":0},"following":{"uri":"/users/33772623/following","options":["GET"],"total":0},"groups":{"uri":"/users/33772623/groups","options":["GET"],"total":0},"likes":{"uri":"/users/33772623/likes","options":["GET"],"total":0},"portfolios":{"uri":"/users/33772623/portfolios","options":["GET"],"total":0},"videos":{"uri":"/users/33772623/videos","options":["GET"],"total":4},"watchlater":{"uri":"/users/33772623/watchlater","options":["GET"],"total":0},"shared":{"uri":"/users/33772623/shared/videos","options":["GET"],"total":0},"pictures":{"uri":"/users/33772623/pictures","options":["GET","POST"],"total":1}}},"content_filter":["language","drugs","violence","nudity","safe","unrated"]},"embed":{"uri":null,"buttons":{"like":true,"watchlater":true,"share":true,"embed":true,"hd":false,"fullscreen":true,"scaling":true},"logos":{"vimeo":true,"custom":{"active":false,"link":null,"sticky":false}},"title":{"name":"user","owner":"user","portrait":"user"},"playbar":true,"volume":true,"color":"00adef"},"app":null,"status":"available","embed_presets":null}'
484
+ http_version:
485
+ recorded_at: Tue, 31 Mar 2015 20:18:29 GMT
486
+ - request:
487
+ method: get
488
+ uri: https://api.vimeo.com/videos/110132671
489
+ body:
490
+ encoding: US-ASCII
491
+ string: ''
492
+ headers:
493
+ Authorization:
494
+ - bearer <VIMEO_BEARER_TOKEN>
495
+ Accept:
496
+ - application/json
497
+ response:
498
+ status:
499
+ code: 200
500
+ message: OK
501
+ headers:
502
+ Date:
503
+ - Tue, 31 Mar 2015 20:18:29 GMT
504
+ Server:
505
+ - nginx
506
+ Content-Type:
507
+ - application/vnd.vimeo.video+json
508
+ Cache-Control:
509
+ - no-cache, max-age=315360000
510
+ Expires:
511
+ - Fri, 28 Mar 2025 20:18:29 GMT
512
+ Content-Length:
513
+ - '3659'
514
+ Accept-Ranges:
515
+ - bytes
516
+ Via:
517
+ - 1.1 varnish
518
+ Age:
519
+ - '0'
520
+ X-Served-By:
521
+ - cache-lcy1123-LCY
522
+ X-Cache:
523
+ - MISS
524
+ X-Cache-Hits:
525
+ - '0'
526
+ X-Timer:
527
+ - S1427833109.387655,VS0,VE193
528
+ Vary:
529
+ - Accept,Vimeo-Client-Id,Accept-Encoding
530
+ body:
531
+ encoding: UTF-8
532
+ string: '{"uri":"/videos/110132671","name":"Discotheque Metamorphosis","description":null,"link":"https://vimeo.com/rawfunkmaharishi/discotheque-metamorphosis","duration":218,"width":640,"language":null,"height":360,"created_time":"2014-10-27T12:10:13+00:00","modified_time":"2015-03-23T22:08:53+00:00","content_rating":["unrated"],"license":"by-nc-sa","privacy":{"view":"anybody","embed":"public","download":true,"add":true,"comments":"anybody"},"pictures":{"uri":"/videos/110132671/pictures/494269097","active":true,"sizes":[{"width":100,"height":75,"link":"https://i.vimeocdn.com/video/494269097_100x75.jpg"},{"width":200,"height":150,"link":"https://i.vimeocdn.com/video/494269097_200x150.jpg"},{"width":295,"height":166,"link":"https://i.vimeocdn.com/video/494269097_295x166.jpg"},{"width":640,"height":360,"link":"https://i.vimeocdn.com/video/494269097_640x360.jpg"},{"width":960,"height":540,"link":"https://i.vimeocdn.com/video/494269097_960x540.jpg"}]},"tags":[],"stats":{"plays":9},"metadata":{"connections":{"comments":{"uri":"/videos/110132671/comments","options":["GET","POST"],"total":0},"credits":{"uri":"/videos/110132671/credits","options":["GET","POST"],"total":1},"likes":{"uri":"/videos/110132671/likes","options":["GET"],"total":0},"pictures":{"uri":"/videos/110132671/pictures","options":["GET","POST"],"total":1},"texttracks":{"uri":"/videos/110132671/texttracks","options":["GET","POST"],"total":0}},"interactions":{"watchlater":{"added":false,"added_time":null,"uri":"/users/33772623/watchlater/110132671"}}},"user":{"uri":"/users/33772623","name":"Raw
533
+ Funk Maharishi","link":"https://vimeo.com/rawfunkmaharishi","location":null,"bio":null,"created_time":"2014-10-27T12:06:25+00:00","account":"basic","pictures":{"uri":"/users/33772623/pictures/8588995","active":true,"sizes":[{"width":30,"height":30,"link":"https://i.vimeocdn.com/portrait/8588995_30x30.jpg"},{"width":75,"height":75,"link":"https://i.vimeocdn.com/portrait/8588995_75x75.jpg"},{"width":100,"height":100,"link":"https://i.vimeocdn.com/portrait/8588995_100x100.jpg"},{"width":300,"height":300,"link":"https://i.vimeocdn.com/portrait/8588995_300x300.jpg"}]},"websites":[{"name":"http://rawfunkmaharishi.uk/","link":"http://rawfunkmaharishi.uk/","description":null}],"metadata":{"connections":{"activities":{"uri":"/users/33772623/activities","options":["GET"]},"albums":{"uri":"/users/33772623/albums","options":["GET"],"total":1},"channels":{"uri":"/users/33772623/channels","options":["GET"],"total":0},"feed":{"uri":"/users/33772623/feed","options":["GET"]},"followers":{"uri":"/users/33772623/followers","options":["GET"],"total":0},"following":{"uri":"/users/33772623/following","options":["GET"],"total":0},"groups":{"uri":"/users/33772623/groups","options":["GET"],"total":0},"likes":{"uri":"/users/33772623/likes","options":["GET"],"total":0},"portfolios":{"uri":"/users/33772623/portfolios","options":["GET"],"total":0},"videos":{"uri":"/users/33772623/videos","options":["GET"],"total":4},"watchlater":{"uri":"/users/33772623/watchlater","options":["GET"],"total":0},"shared":{"uri":"/users/33772623/shared/videos","options":["GET"],"total":0},"pictures":{"uri":"/users/33772623/pictures","options":["GET","POST"],"total":1}}},"content_filter":["language","drugs","violence","nudity","safe","unrated"]},"embed":{"uri":null,"buttons":{"like":true,"watchlater":true,"share":true,"embed":true,"hd":false,"fullscreen":true,"scaling":true},"logos":{"vimeo":true,"custom":{"active":false,"link":null,"sticky":false}},"title":{"name":"user","owner":"user","portrait":"user"},"playbar":true,"volume":true,"color":"00adef"},"app":null,"status":"available","embed_presets":null}'
534
+ http_version:
535
+ recorded_at: Tue, 31 Mar 2015 20:18:29 GMT
536
+ recorded_with: VCR 2.9.3