purdie 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/_config/defaults.yaml +25 -0
  3. data/cruft.rb +9 -0
  4. data/features/comments.feature +32 -0
  5. data/features/flickr.feature +2 -0
  6. data/features/rfm.feature +69 -0
  7. data/features/select-file.feature +24 -0
  8. data/features/support/fixtures/vcr/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +538 -0
  9. data/features/support/fixtures/vcr/Handle_comments/Handle_comments_in_a_source_file.yml +346 -0
  10. data/features/support/fixtures/vcr/Select_a_file_to_process/Choose_file_to_process.yml +224 -0
  11. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML.yml +41 -46
  12. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +42 -49
  13. data/features/support/hooks.rb +2 -2
  14. data/lib/purdie/bernard.rb +29 -16
  15. data/lib/purdie/cli.rb +4 -0
  16. data/lib/purdie/config.rb +3 -3
  17. data/lib/purdie/services/flickr.rb +1 -1
  18. data/lib/purdie/services/soundcloud.rb +1 -1
  19. data/lib/purdie/services/vimeo.rb +1 -1
  20. data/lib/purdie/version.rb +1 -1
  21. data/spec/services/flickr_spec.rb +5 -5
  22. data/spec/services/soundcloud_spec.rb +16 -4
  23. data/spec/services/vimeo_spec.rb +2 -2
  24. data/spec/spec_helper.rb +5 -3
  25. data/spec/vcr/Purdie_Services_Flickr/distills_data_for_a_photo_without_a_specific_photographer_tag.yml +123 -0
  26. data/spec/vcr/Purdie_Services_Flickr/distills_data_for_a_regular_photo.yml +125 -0
  27. data/spec/vcr/Purdie_Services_SoundCloud/deals_with_a_troublesome_bawbag.yml +230 -0
  28. data/spec/vcr/Purdie_Services_SoundCloud/distills_the_data.yml +222 -0
  29. data/spec/vcr/Purdie_Services_SoundCloud/extracts_a_track.yml +230 -0
  30. data/spec/vcr/Purdie_Services_SoundCloud/refines_the_data.yml +230 -0
  31. data/spec/vcr/Purdie_Services_Vimeo/distills_a_video.yml +41 -0
  32. metadata +31 -3
  33. /data/features/support/fixtures/{config → _config}/purdie.yaml +0 -0
data/lib/purdie/cli.rb CHANGED
@@ -9,8 +9,12 @@ module Purdie
9
9
  map %w(-v --version) => :version
10
10
 
11
11
  desc 'fetch', 'Fetch the data'
12
+ method_option :source_file,
13
+ :aliases => '-f',
14
+ :desc => 'Specify source file to process'
12
15
  def fetch
13
16
  b = Bernard.new
17
+ b.source_file options[:source_file] if options[:source_file]
14
18
  b.fetch
15
19
  end
16
20
  end
data/lib/purdie/config.rb CHANGED
@@ -3,10 +3,10 @@ require 'purdie'
3
3
  module Purdie
4
4
  class Config
5
5
  def initialize
6
- @conf = YAML.load File.read File.join(File.dirname(__FILE__), '..', '..', 'config/defaults.yaml')
6
+ @conf = YAML.load File.read File.join(File.dirname(__FILE__), '..', '..', '_config/defaults.yaml')
7
7
 
8
- if File.exists? 'config/purdie.yaml'
9
- y = YAML.load File.read 'config/purdie.yaml'
8
+ if File.exists? '_config/purdie.yaml'
9
+ y = YAML.load File.read '_config/purdie.yaml'
10
10
  @conf.deep_merge! y
11
11
  end
12
12
  end
@@ -21,7 +21,7 @@ module Purdie
21
21
  flickr.photos.getInfo(photo_id: id)
22
22
  end
23
23
 
24
- def refine url
24
+ def distill url
25
25
  photo = get_photo url
26
26
  results = {}
27
27
 
@@ -23,7 +23,7 @@ module Purdie
23
23
  end[0]
24
24
  end
25
25
 
26
- def refine url
26
+ def distill url
27
27
  track = get_track url
28
28
  results = {}
29
29
  results['title'] = track['title']
@@ -24,7 +24,7 @@ module Purdie
24
24
  JSON.parse response.body
25
25
  end
26
26
 
27
- def refine url
27
+ def distill url
28
28
  video = get_video url
29
29
  results = {}
30
30
 
@@ -1,3 +1,3 @@
1
1
  module Purdie
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -7,8 +7,8 @@ module Purdie
7
7
  @f = Flickr.new Config.new
8
8
  end
9
9
 
10
- it 'refines data for a regular photo', :vcr do
11
- expect(@f.refine 'https://www.flickr.com/photos/rawfunkmaharishi/15631479625/').to eq({
10
+ it 'distills data for a regular photo', :vcr do
11
+ expect(@f.distill 'https://www.flickr.com/photos/rawfunkmaharishi/15631479625/').to eq({
12
12
  "title"=>"The Comedy, October 2014",
13
13
  "date"=>"2014-10-22",
14
14
  "photo_page"=>"https://www.flickr.com/photos/rawfunkmaharishi/15631479625/",
@@ -19,8 +19,8 @@ module Purdie
19
19
  })
20
20
  end
21
21
 
22
- it 'refines data for a photo without a specific photographer tag', :vcr do
23
- expect(@f.refine 'https://www.flickr.com/photos/cluttercup/15950875724/').to eq ({
22
+ it 'distills data for a photo without a specific photographer tag', :vcr do
23
+ expect(@f.distill 'https://www.flickr.com/photos/cluttercup/15950875724/').to eq ({
24
24
  "title"=>"Raw Funk Maharishi",
25
25
  "date"=>"2015-02-18",
26
26
  "photo_page"=>"https://www.flickr.com/photos/cluttercup/15950875724/",
@@ -32,7 +32,7 @@ module Purdie
32
32
  end
33
33
 
34
34
  it 'falls back to the default photographer name', :vcr do
35
- expect(@f.refine('https://www.flickr.com/photos/pikesley/16649739916/')['photographer']).to eq 'pikesley'
35
+ expect(@f.distill('https://www.flickr.com/photos/pikesley/16649739916/')['photographer']).to eq 'pikesley'
36
36
  end
37
37
  end
38
38
  end
@@ -11,15 +11,15 @@ module Purdie
11
11
  expect(@sc.all_tracks).to be_a Array
12
12
  end
13
13
 
14
- it 'extracts a track' do
14
+ it 'extracts a track', :vcr do
15
15
  track = @sc.get_track 'https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1'
16
16
  expect(track).to be_a Hash
17
17
  expect(track['id']). to eq 193008299
18
18
  end
19
19
 
20
- it 'refines the data' do
21
- refined = @sc.refine 'https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1'
22
- expect(refined).to eq({
20
+ it 'distills the data', :vcr do
21
+ distilld = @sc.distill 'https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1'
22
+ expect(distilld).to eq({
23
23
  "title"=>"Hexaflexagon",
24
24
  "id"=>193008299,
25
25
  "location"=>"Islington Academy",
@@ -27,6 +27,18 @@ module Purdie
27
27
  "license"=>"Attribution-NonCommercial-ShareAlike",
28
28
  "license_url"=>"http://creativecommons.org/licenses/by-nc-sa/4.0/"})
29
29
  end
30
+
31
+ it 'deals with a troublesome bawbag', :vcr do
32
+ distilld = @sc.distill 'https://soundcloud.com/rawfunkmaharishi/bernard'
33
+ expect(distilld).to eq({
34
+ "title"=>"Bernard",
35
+ "id"=>192841052,
36
+ "location"=>"Islington Academy",
37
+ "date"=>"2015-02-18",
38
+ "license"=>"Attribution-NonCommercial-ShareAlike",
39
+ "license_url"=>"http://creativecommons.org/licenses/by-nc-sa/4.0/"
40
+ })
41
+ end
30
42
  end
31
43
  end
32
44
  end
@@ -11,8 +11,8 @@ module Purdie
11
11
  expect(@v.get_video 'https://vimeo.com/117102891').to be_a Hash
12
12
  end
13
13
 
14
- it 'refines a video', :vcr do
15
- expect(@v.refine 'https://vimeo.com/117102891').to eq({
14
+ it 'distills a video', :vcr do
15
+ expect(@v.distill 'https://vimeo.com/117102891').to eq({
16
16
  "title"=>"Bernard",
17
17
  "id"=>117102891,
18
18
  "license"=>"Attribution-NonCommercial-ShareAlike",
data/spec/spec_helper.rb CHANGED
@@ -16,11 +16,13 @@ RSpec.configure do |config|
16
16
  config.order = :random
17
17
 
18
18
  config.before :each do
19
- FileUtils.cp File.join(File.dirname(__FILE__), '..', 'features/support/fixtures/config/purdie.yaml'),
20
- File.join(File.dirname(__FILE__), '..', 'config/purdie.yaml')
19
+ FileUtils.cp File.join(File.dirname(__FILE__), '..', 'features/support/fixtures/_config/purdie.yaml'),
20
+ File.join(File.dirname(__FILE__), '..', '_config/purdie.yaml')
21
+ FileUtils.mkdir_p File.join(File.dirname(__FILE__), '..', '_sources')
21
22
  end
22
23
 
23
24
  config.after :each do
24
- FileUtils.rm File.join(File.dirname(__FILE__), '..', 'config/purdie.yaml')
25
+ FileUtils.rm File.join(File.dirname(__FILE__), '..', '_config/purdie.yaml')
26
+ FileUtils.rmdir File.join(File.dirname(__FILE__), '..', '_sources')
25
27
  end
26
28
  end
@@ -0,0 +1,123 @@
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="zeLROUaoZ6bzHPl1DdzMUvDMPR3YjSprpYdFxtfoklU%3D", oauth_signature="<FLICKR_SECRET>%26",
19
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416099", 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, 03 Mar 2015 20:54:59 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
+ - www22.flickr.bf1.yahoo.com
42
+ Vary:
43
+ - Accept-Encoding
44
+ Age:
45
+ - '0'
46
+ Via:
47
+ - http/1.1 fts115.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
+ http/1.1 r19.ycpi.ir2.yahoo.net (ApacheTrafficServer [cMsSf ])
49
+ Server:
50
+ - ATS
51
+ Connection:
52
+ - keep-alive
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ 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
56
+ 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
57
+ 16:56:20","takengranularity":"0","takenunknown":"0","lastupdate":"1424289832"},"views":"37","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"}'
58
+ http_version:
59
+ recorded_at: Tue, 03 Mar 2015 20:54:59 GMT
60
+ - request:
61
+ method: post
62
+ uri: https://api.flickr.com/services/rest/
63
+ body:
64
+ encoding: US-ASCII
65
+ string: method=flickr.photos.licenses.getInfo&format=json&nojsoncallback=1
66
+ headers:
67
+ Accept-Encoding:
68
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
69
+ Accept:
70
+ - "*/*"
71
+ User-Agent:
72
+ - FlickRaw/0.9.8
73
+ Authorization:
74
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
75
+ oauth_nonce="VY2qScign6PYW0Ro7fZX%2BkSmyRBQKejSHNZR%2B5rYl3I%3D", oauth_signature="<FLICKR_SECRET>%26",
76
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416099", oauth_token="",
77
+ oauth_version="1.0"
78
+ Content-Type:
79
+ - application/x-www-form-urlencoded
80
+ response:
81
+ status:
82
+ code: 200
83
+ message: OK
84
+ headers:
85
+ Date:
86
+ - Tue, 03 Mar 2015 20:55:00 GMT
87
+ Content-Type:
88
+ - application/json
89
+ Content-Length:
90
+ - '314'
91
+ P3p:
92
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
93
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
94
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
95
+ Cache-Control:
96
+ - private
97
+ X-Served-By:
98
+ - www252.flickr.bf1.yahoo.com
99
+ Vary:
100
+ - Accept-Encoding
101
+ Age:
102
+ - '2'
103
+ Via:
104
+ - http/1.1 fts123.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
105
+ http/1.1 r17.ycpi.ams.yahoo.net (ApacheTrafficServer [cMsSf ])
106
+ Server:
107
+ - ATS
108
+ Connection:
109
+ - keep-alive
110
+ body:
111
+ encoding: ASCII-8BIT
112
+ string: '{"licenses":{"license":[{"id":"0","name":"All Rights Reserved","url":""},{"id":"4","name":"Attribution
113
+ License","url":"https:\/\/creativecommons.org\/licenses\/by\/2.0\/"},{"id":"6","name":"Attribution-NoDerivs
114
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nd\/2.0\/"},{"id":"3","name":"Attribution-NonCommercial-NoDerivs
115
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/"},{"id":"2","name":"Attribution-NonCommercial
116
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc\/2.0\/"},{"id":"1","name":"Attribution-NonCommercial-ShareAlike
117
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/"},{"id":"5","name":"Attribution-ShareAlike
118
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/"},{"id":"7","name":"No
119
+ known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
120
+ States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"}]},"stat":"ok"}'
121
+ http_version:
122
+ recorded_at: Tue, 03 Mar 2015 20:55:00 GMT
123
+ recorded_with: VCR 2.9.3
@@ -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="VVYdZIrfyfpFHuMOqg2BA%2Bisgir1ml4%2B%2FFFmDO3gr14%3D", oauth_signature="<FLICKR_SECRET>%26",
19
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416098", 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, 03 Mar 2015 20:54:58 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
+ - www319.flickr.bf1.yahoo.com
42
+ Vary:
43
+ - Accept-Encoding
44
+ Age:
45
+ - '0'
46
+ Via:
47
+ - http/1.1 fts113.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
+ http/1.1 r07.ycpi.ams.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":"92","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: Tue, 03 Mar 2015 20:54:58 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="POoToL2%2BHBEVSE1Lt50VRY9qCMAlqvJ9oJpBo9JAzZE%3D", oauth_signature="<FLICKR_SECRET>%26",
78
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416098", 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, 03 Mar 2015 20:54:59 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
+ - www295.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 r19.ycpi.ir2.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: Tue, 03 Mar 2015 20:54:59 GMT
125
+ recorded_with: VCR 2.9.3