purdie 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.travis.yml +1 -0
- data/README.md +25 -11
- data/_config/defaults.yaml +0 -21
- data/_config/licenses.yaml +33 -0
- data/features/duff-credentials.feature +33 -0
- data/features/flickr-album.feature +1 -1
- data/features/flickr-with-lookups.feature +29 -0
- data/features/rfm.feature +2 -2
- data/features/step_definitions/purdie_steps.rb +26 -0
- data/features/support/fixtures/_config/purdie.yaml +1 -1
- data/features/support/fixtures/vcr/A_URL_we_don_t_understand/Handle_a_URL_we_don_t_recognise.yml +15 -15
- data/features/support/fixtures/vcr/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +59 -53
- data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML.yml +15 -15
- data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML_with_lookups.yml +123 -0
- data/features/support/fixtures/vcr/Flickr_album/Generate_Flickr_YAML_for_an_album.yml +137 -137
- data/features/support/fixtures/vcr/Handle_comments/Handle_comments_in_a_source_file.yml +21 -28
- data/features/support/fixtures/vcr/Missing_or_bad_credentials/Bad_credentials_for_multiple_services.yml +156 -0
- data/features/support/fixtures/vcr/Purdie/Generate_several_YAML.yml +37 -36
- data/features/support/fixtures/vcr/Select_a_file_to_process/Choose_file_to_process.yml +7 -7
- data/features/support/fixtures/vcr/Set_Flickr_picturesize/Generate_Flickr_YAML.yml +16 -16
- data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML.yml +7 -7
- data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +14 -14
- data/features/support/fixtures/vcr/Soundcloud_set/Generate_YAML_for_a_SoundCloud_set.yml +58 -33
- data/features/support/fixtures/vcr/Vimeo/Generate_Vimeo_YAML.yml +8 -8
- data/features/support/fixtures/vcr/Vimeo_albums/Generate_YAML_for_a_Vimeo_album.yml +210 -0
- data/features/support/fixtures/vcr/YouTube/Generate_YouTube_YAML.yml +9 -9
- data/features/support/fixtures/vcr/YouTube_playlists/Generate_YAML_for_a_YouTube_playlist.yml +2503 -0
- data/features/vimeo-albums.feature +27 -0
- data/features/youtube-playlist.feature +54 -0
- data/lib/purdie/bernard.rb +24 -1
- data/lib/purdie/cli.rb +4 -0
- data/lib/purdie/exceptions.rb +20 -0
- data/lib/purdie/helpers.rb +17 -2
- data/lib/purdie/ingester.rb +15 -10
- data/lib/purdie/license_manager.rb +41 -0
- data/lib/purdie/services/flickr.rb +14 -2
- data/lib/purdie/services/soundcloud.rb +13 -4
- data/lib/purdie/services/vimeo.rb +13 -6
- data/lib/purdie/services/youtube.rb +46 -4
- data/lib/purdie/source_list.rb +10 -16
- data/lib/purdie/version.rb +1 -1
- data/lib/purdie.rb +10 -0
- data/spec/duff_keys_spec.rb +115 -0
- data/spec/helpers_spec.rb +12 -5
- data/spec/license_manager_spec.rb +20 -0
- data/spec/services/flickr_spec.rb +24 -15
- data/spec/services/soundcloud_spec.rb +2 -2
- data/spec/services/vimeo_spec.rb +6 -6
- data/spec/services/youtube_spec.rb +14 -1
- data/spec/source_list_spec.rb +14 -4
- data/spec/spec_helper.rb +32 -0
- data/spec/support/fixtures/vimeo.vids +1 -0
- data/spec/vcr/Purdie_Services_Flickr/do_the_local_config_lookups/looks_up_the_default_title.yml +123 -0
- data/spec/vcr/Purdie_Services_Flickr/falls_back_to_the_default_photographer_name.yml +20 -19
- data/spec/vcr/Purdie_Services_Flickr/ingests_data_for_a_photo_without_a_specific_photographer_tag.yml +20 -21
- data/spec/vcr/Purdie_Services_Flickr/licenses_items_correctly.yml +180 -0
- data/spec/vcr/Purdie_Services_Vimeo/ingests_a_video.yml +8 -8
- data/spec/vcr/Purdie_Services_Vimeo/resolve_an_album/resolves_an_album_from_a_URL.yml +59 -0
- data/spec/vcr/Purdie_Services_YouTube/gets_the_correct_license.yml +976 -0
- data/spec/vcr/Purdie_Services_YouTube/resolve_a_playlist/resolves_a_playlist_from_a_shitty_YouTube_URL.yml +970 -0
- metadata +37 -4
- data/_data/flickr.yaml +0 -4
- data/_data/soundcloud.yaml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7ede05eac12185b11e1038f17880897a4341680
|
4
|
+
data.tar.gz: 51528843daf81c4e7e17e503861a971dd224ab9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd59f0cb292e5626b3f852cb47285b75f2864afc23417797d5ce1d46ede91b83a99ebf8162667e1e059d35ce0bea40b5acbe5201f09d2ac149cd994ceab1e53c
|
7
|
+
data.tar.gz: 0d6759f0aa70f5a59a54645628b549c2d4951fdc204a56e76f343af7c0e57610ce7d8cd23872e67d5b7270647a310282c72b200447083e9d61a78b900c58bcaf
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -11,3 +11,4 @@ env:
|
|
11
11
|
- secure: AeXUYDzqttkNCkemmsAn3NkYUMwcLX7h5QNvYQ5UNrPkDTEkW/TGrgAfgErSmMRCiQas+jqRm4CJOGA917gPZrkbdxHf4MwF7vvACQPMmwFLhW7ZVERrRjV/jJNMVsMKb4Jr1SuhfCgrNWKOvowKGRM0ulqbkda/sgM0QtH/Iow=
|
12
12
|
- secure: jIVGrSlocGRVRXfiI1tnsa6bMWkQA2Cev5R7+W5nIiPmO9piH6YBFKxvbpeebvSDpvB7wVzrAM3JUeCaYXXF7hiDT7NAYiU8+v6FB20bvyFM9cDxtYB+SJRTwsF2Mq8212bMg47hdubnSFL0g9IC/nLtxq9tJjGycbMaAMZRKC4=
|
13
13
|
- secure: aKZ3c8pttF/tDAbQ+zfrflDRPF7I6lTLV8rHm4NwNh1cEgOv8v45HiBWIl5IplaNXonUcfhrvrmi11m9KhWtKiCiA7Z1BHJJu9eP+QhedJtGvxbmnDQ1UOXAY2Ot9Y1b0wRa2YqsYIZOUg42erVsHcWiPXWpfCQ+27dqglP59k8=
|
14
|
+
- secure: R4uwxMF7CtpRtDZOcan2caJci0p6Aum0FOdu72kut+omnFjumIhtmVVh2BvUZW5pD9LoqCreYHVifSx8nsbRvmMbZ67I3Y0JFst+QfHDCw8vQYBJ3oAUkWZf8wo4zW3GaAHmfqOrhIPifSa/rMNgvK95g/Dd9Fnr/Dyto2bRVG0=
|
data/README.md
CHANGED
@@ -42,8 +42,17 @@ 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
47
|
|
46
|
-
|
48
|
+
https://www.flickr.com/photos/pikesley/sets/72157648589429938/
|
49
|
+
https://soundcloud.com/rawfunkmaharishi/sets/islington-academy-sessions
|
50
|
+
|
51
|
+
####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
|
47
56
|
|
48
57
|
You also need a *.env* file with the relevant credentials in it:
|
49
58
|
|
@@ -51,17 +60,25 @@ You also need a *.env* file with the relevant credentials in it:
|
|
51
60
|
FLICKR_SECRET: this_a_secret
|
52
61
|
|
53
62
|
SOUNDCLOUD_CLIENT_ID: this_a_client_id
|
54
|
-
SOUNDCLOUD_USER_ID: this_a_user_id
|
55
63
|
|
56
64
|
VIMEO_BEARER_TOKEN: this_is_bearer_token
|
65
|
+
|
66
|
+
YOUTUBE_API_KEY: this_is_key_for_youtube
|
57
67
|
|
58
|
-
(get those things from [Flickr](https://www.flickr.com/services/apps/create/apply), [SoundCloud](http://soundcloud.com/you/apps/new)
|
68
|
+
(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))
|
59
69
|
|
60
70
|
And then you can run
|
61
71
|
|
62
72
|
purdie fetch
|
63
73
|
|
64
|
-
and it will dump out YAML files into *_data
|
74
|
+
(`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
|
+
|
76
|
+
flickr.yaml
|
77
|
+
soundcloud.yaml
|
78
|
+
vimeo.yaml
|
79
|
+
youtube.yaml
|
80
|
+
|
81
|
+
ready for Jekyll to consume.
|
65
82
|
|
66
83
|
###Customisation
|
67
84
|
|
@@ -87,21 +104,18 @@ Tread carefully for now, because my metadata hacks aren't fully documented, and
|
|
87
104
|
|
88
105
|
##What next?
|
89
106
|
|
90
|
-
There's no reason I couldn't support other services - I've
|
107
|
+
There's no reason I couldn't support other services - I've already added [YouTube](https://github.com/rawfunkmaharishi/purdie/blob/master/spec/services/youtube_spec.rb) [support](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/youtube.rb) and others should be fairly simple. There's some introspection magic at the heart of all of this which means that as long as each service is represented by a class that:
|
91
108
|
|
92
109
|
* includes the `Purdie::Ingester` module, and
|
93
110
|
* sports a `::matcher` class method which returns a string which will pick a URL out of an input file, and
|
94
111
|
* has a `#distill` method which takes a URL representing an item on the service and returns a hash of metadata, see e.g.
|
95
112
|
* [Flickr](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/flickr.rb#L27)
|
96
|
-
* [SoundCloud](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/soundcloud.rb#
|
97
|
-
* [Vimeo](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/vimeo.rb#
|
113
|
+
* [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)
|
115
|
+
* 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
|
98
116
|
|
99
117
|
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).
|
100
118
|
|
101
|
-
More prosaically, I think it will be fairly simple to support Flickr sets and SoundCloud albums as input data.
|
102
|
-
|
103
|
-
And I can definitely rationalise these [horrible license lookups](https://github.com/rawfunkmaharishi/purdie/blob/master/_config/defaults.yaml#L5) into a module or even a gem of their own.
|
104
|
-
|
105
119
|
And of course, known issues are [here](https://github.com/rawfunkmaharishi/purdie/issues).
|
106
120
|
|
107
121
|
##Why Purdie?
|
data/_config/defaults.yaml
CHANGED
@@ -1,24 +1,3 @@
|
|
1
1
|
source_dir: _sources
|
2
2
|
output_dir: _data
|
3
3
|
default_title: Bernard Purdie, the World's most-recorded drummer
|
4
|
-
|
5
|
-
# those unwieldy lookups are because each service calls the CC licenses by a slightly different name and defaults to a different version of the license. I think I need to abstract all of this out into a modlue or even a gem of its own
|
6
|
-
license_lookups:
|
7
|
-
|
8
|
-
# SoundCloud
|
9
|
-
cc-by-nc-sa:
|
10
|
-
short_name: BY-NC-SA
|
11
|
-
full_name: Attribution-NonCommercial-ShareAlike
|
12
|
-
url: http://creativecommons.org/licenses/by-nc-sa/4.0/
|
13
|
-
|
14
|
-
# Vimeo
|
15
|
-
by-nc-sa:
|
16
|
-
short_name: BY-NC-SA
|
17
|
-
full_name: Attribution-NonCommercial-ShareAlike
|
18
|
-
url: http://creativecommons.org/licenses/by-nc-sa/3.0/
|
19
|
-
|
20
|
-
# This one is YouTube. WTF YouTube?
|
21
|
-
creativeCommon:
|
22
|
-
short_name: BY
|
23
|
-
full_name: Attribution
|
24
|
-
url: https://creativecommons.org/licenses/by/3.0/
|
@@ -0,0 +1,33 @@
|
|
1
|
+
Flickr:
|
2
|
+
'1':
|
3
|
+
short_name: BY-NC-SA
|
4
|
+
full_name: Attribution-NonCommercial-ShareAlike
|
5
|
+
url: https://creativecommons.org/licenses/by-nc-sa/2.0/
|
6
|
+
|
7
|
+
'2':
|
8
|
+
short_name: BY-NC
|
9
|
+
full_name: Attribution-NonCommercial
|
10
|
+
url: http://creativecommons.org/licenses/by-nc/2.0/
|
11
|
+
|
12
|
+
SoundCloud:
|
13
|
+
cc-by-nc-sa:
|
14
|
+
short_name: BY-NC-SA
|
15
|
+
full_name: Attribution-NonCommercial-ShareAlike
|
16
|
+
url: http://creativecommons.org/licenses/by-nc-sa/4.0/
|
17
|
+
|
18
|
+
Vimeo:
|
19
|
+
by-nc-sa:
|
20
|
+
short_name: BY-NC-SA
|
21
|
+
full_name: Attribution-NonCommercial-ShareAlike
|
22
|
+
url: http://creativecommons.org/licenses/by-nc-sa/3.0/
|
23
|
+
|
24
|
+
YouTube:
|
25
|
+
creativeCommon:
|
26
|
+
short_name: BY
|
27
|
+
full_name: Attribution
|
28
|
+
url: https://creativecommons.org/licenses/by/3.0/
|
29
|
+
|
30
|
+
youtube:
|
31
|
+
short_name: YouTube
|
32
|
+
full_name: YouTube
|
33
|
+
url: https://www.youtube.com/static?gl=GB&template=terms
|
@@ -0,0 +1,33 @@
|
|
1
|
+
@vcr
|
2
|
+
|
3
|
+
Feature: Missing or bad credentials
|
4
|
+
|
5
|
+
Scenario: Attempt to process SoundCloud URLs with missing credentials
|
6
|
+
Given a file named "_sources/soundcloud.csv" with:
|
7
|
+
"""
|
8
|
+
https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
|
9
|
+
"""
|
10
|
+
And no credentials for SoundCloud
|
11
|
+
When I run `purdie fetch`
|
12
|
+
Then the stderr should contain:
|
13
|
+
"""
|
14
|
+
Missing or duff credentials for: SoundCloud
|
15
|
+
"""
|
16
|
+
And I restore the credentials for SoundCloud
|
17
|
+
|
18
|
+
Scenario: Bad credentials for multiple services
|
19
|
+
Given a file named "_sources/sources.sources" with:
|
20
|
+
"""
|
21
|
+
https://vimeo.com/110132671
|
22
|
+
https://vimeo.com/110133117
|
23
|
+
https://www.youtube.com/watch?v=Qt_J0jNqtZg&list=PLuPLM2FI60-M0-aWejF9WgB-Dkt1TuQXv&index=2
|
24
|
+
"""
|
25
|
+
And no credentials for Vimeo
|
26
|
+
And bad credentials for YouTube
|
27
|
+
When I run `purdie fetch`
|
28
|
+
Then the stderr should contain:
|
29
|
+
"""
|
30
|
+
Missing or duff credentials for: Vimeo, YouTube
|
31
|
+
"""
|
32
|
+
And I restore the credentials for Vimeo
|
33
|
+
And I restore the credentials for YouTube
|
@@ -17,7 +17,7 @@ Feature: Flickr album
|
|
17
17
|
photo_url: https://farm8.staticflickr.com/7506/16252009191_ea2d06e6bb_m.jpg
|
18
18
|
license: Attribution-NonCommercial-ShareAlike
|
19
19
|
license_url: https://creativecommons.org/licenses/by-nc-sa/2.0/
|
20
|
-
photographer:
|
20
|
+
photographer: sam
|
21
21
|
"""
|
22
22
|
And a file named "_data/soundcloud.yaml" should not exist
|
23
23
|
And a file named "_data/vimeo.yaml" should not exist
|
@@ -0,0 +1,29 @@
|
|
1
|
+
@vcr
|
2
|
+
Feature: Flickr
|
3
|
+
|
4
|
+
Scenario: Generate Flickr YAML with lookups
|
5
|
+
Given a file named "_sources/flickr.csv" with:
|
6
|
+
"""
|
7
|
+
https://www.flickr.com/photos/cluttercup/16393865760/
|
8
|
+
"""
|
9
|
+
And a file named "_config/purdie.yaml" with:
|
10
|
+
"""
|
11
|
+
photographer_lookups:
|
12
|
+
cluttercup: jane
|
13
|
+
|
14
|
+
default_title: Raw Funk Maharishi
|
15
|
+
"""
|
16
|
+
When I successfully run `purdie fetch`
|
17
|
+
Then a file named "_data/flickr.yaml" should exist
|
18
|
+
And the file "_data/flickr.yaml" should contain:
|
19
|
+
"""
|
20
|
+
- title: Raw Funk Maharishi
|
21
|
+
date: '2015-02-18'
|
22
|
+
photo_page: https://www.flickr.com/photos/cluttercup/16393865760/
|
23
|
+
photo_url: https://farm8.staticflickr.com/7395/16393865760_bfbfc1c267_m.jpg
|
24
|
+
license: Attribution-NonCommercial
|
25
|
+
license_url: https://creativecommons.org/licenses/by-nc/2.0/
|
26
|
+
photographer: jane
|
27
|
+
"""
|
28
|
+
And a file named "_data/soundcloud.yaml" should not exist
|
29
|
+
And a file named "_data/vimeo.yaml" should not exist
|
data/features/rfm.feature
CHANGED
@@ -28,14 +28,14 @@ Feature: First contact with the Real World
|
|
28
28
|
photo_url: https://farm8.staticflickr.com/7398/15950875724_23d58be214_m.jpg
|
29
29
|
license: Attribution-NonCommercial
|
30
30
|
license_url: https://creativecommons.org/licenses/by-nc/2.0/
|
31
|
-
photographer:
|
31
|
+
photographer: cluttercup
|
32
32
|
- title: Raw Funk Maharishi
|
33
33
|
date: '2015-02-18'
|
34
34
|
photo_page: https://www.flickr.com/photos/cluttercup/16579675721/
|
35
35
|
photo_url: https://farm8.staticflickr.com/7418/16579675721_f765c42f99_m.jpg
|
36
36
|
license: Attribution-NonCommercial
|
37
37
|
license_url: https://creativecommons.org/licenses/by-nc/2.0/
|
38
|
-
photographer:
|
38
|
+
photographer: cluttercup
|
39
39
|
"""
|
40
40
|
And a file named "_data/soundcloud.yaml" should exist
|
41
41
|
And the file "_data/soundcloud.yaml" should contain:
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Given /^no credentials for SoundCloud$/ do
|
2
|
+
$sc = ENV['SOUNDCLOUD_CLIENT_ID']
|
3
|
+
ENV['SOUNDCLOUD_CLIENT_ID'] = nil
|
4
|
+
end
|
5
|
+
|
6
|
+
Given /^I restore the credentials for SoundCloud$/ do
|
7
|
+
ENV['SOUNDCLOUD_CLIENT_ID'] = $sc
|
8
|
+
end
|
9
|
+
|
10
|
+
Given /^no credentials for Vimeo$/ do
|
11
|
+
$v = ENV['VIMEO_BEARER_TOKEN']
|
12
|
+
ENV['VIMEO_BEARER_TOKEN'] = nil
|
13
|
+
end
|
14
|
+
|
15
|
+
Given /^bad credentials for YouTube$/ do
|
16
|
+
$y = ENV['YOUTUBE_API_KEY']
|
17
|
+
ENV['YOUTUBE_API_KEY'] = 'fji423cj234'
|
18
|
+
end
|
19
|
+
|
20
|
+
Given /^I restore the credentials for Vimeo$/ do
|
21
|
+
ENV['VIMEO_BEARER_TOKEN'] = $v
|
22
|
+
end
|
23
|
+
|
24
|
+
Given /^I restore the credentials for YouTube$/ do
|
25
|
+
ENV['YOUTUBE_API_KEY'] = $y
|
26
|
+
end
|
data/features/support/fixtures/vcr/A_URL_we_don_t_understand/Handle_a_URL_we_don_t_recognise.yml
CHANGED
@@ -15,8 +15,8 @@ http_interactions:
|
|
15
15
|
- FlickRaw/0.9.8
|
16
16
|
Authorization:
|
17
17
|
- OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
|
18
|
-
oauth_nonce="
|
19
|
-
oauth_signature_method="PLAINTEXT", oauth_timestamp="
|
18
|
+
oauth_nonce="lStJS%2BN%2FCaUkNeTkqy96sNrrbLb4jG9KHEIFoqANl2o%3D", oauth_signature="<FLICKR_SECRET>%26",
|
19
|
+
oauth_signature_method="PLAINTEXT", oauth_timestamp="1426093984", oauth_token="",
|
20
20
|
oauth_version="1.0"
|
21
21
|
Content-Type:
|
22
22
|
- application/x-www-form-urlencoded
|
@@ -26,7 +26,7 @@ http_interactions:
|
|
26
26
|
message: OK
|
27
27
|
headers:
|
28
28
|
Date:
|
29
|
-
-
|
29
|
+
- Wed, 11 Mar 2015 17:13:05 GMT
|
30
30
|
Content-Type:
|
31
31
|
- application/json
|
32
32
|
Content-Length:
|
@@ -38,14 +38,14 @@ http_interactions:
|
|
38
38
|
Cache-Control:
|
39
39
|
- private
|
40
40
|
X-Served-By:
|
41
|
-
-
|
41
|
+
- www58.flickr.bf1.yahoo.com
|
42
42
|
Vary:
|
43
43
|
- Accept-Encoding
|
44
44
|
Age:
|
45
|
-
- '
|
45
|
+
- '0'
|
46
46
|
Via:
|
47
|
-
- http/1.1
|
48
|
-
http/1.1
|
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
49
|
Server:
|
50
50
|
- ATS
|
51
51
|
Connection:
|
@@ -58,7 +58,7 @@ http_interactions:
|
|
58
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
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
60
|
http_version:
|
61
|
-
recorded_at:
|
61
|
+
recorded_at: Wed, 11 Mar 2015 17:13:05 GMT
|
62
62
|
- request:
|
63
63
|
method: post
|
64
64
|
uri: https://api.flickr.com/services/rest/
|
@@ -74,8 +74,8 @@ http_interactions:
|
|
74
74
|
- FlickRaw/0.9.8
|
75
75
|
Authorization:
|
76
76
|
- OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
|
77
|
-
oauth_nonce="
|
78
|
-
oauth_signature_method="PLAINTEXT", oauth_timestamp="
|
77
|
+
oauth_nonce="Wys2vnSmSwlJVK6t4GZKjntby0j9A6Al%2FLvTo3sEsdw%3D", oauth_signature="<FLICKR_SECRET>%26",
|
78
|
+
oauth_signature_method="PLAINTEXT", oauth_timestamp="1426093985", oauth_token="",
|
79
79
|
oauth_version="1.0"
|
80
80
|
Content-Type:
|
81
81
|
- application/x-www-form-urlencoded
|
@@ -85,7 +85,7 @@ http_interactions:
|
|
85
85
|
message: OK
|
86
86
|
headers:
|
87
87
|
Date:
|
88
|
-
-
|
88
|
+
- Wed, 11 Mar 2015 17:13:05 GMT
|
89
89
|
Content-Type:
|
90
90
|
- application/json
|
91
91
|
Content-Length:
|
@@ -97,14 +97,14 @@ http_interactions:
|
|
97
97
|
Cache-Control:
|
98
98
|
- private
|
99
99
|
X-Served-By:
|
100
|
-
-
|
100
|
+
- www47.flickr.bf1.yahoo.com
|
101
101
|
Vary:
|
102
102
|
- Accept-Encoding
|
103
103
|
Age:
|
104
104
|
- '0'
|
105
105
|
Via:
|
106
|
-
- http/1.1
|
107
|
-
http/1.1
|
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
108
|
Server:
|
109
109
|
- ATS
|
110
110
|
Connection:
|
@@ -121,5 +121,5 @@ http_interactions:
|
|
121
121
|
known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
|
122
122
|
States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"}]},"stat":"ok"}'
|
123
123
|
http_version:
|
124
|
-
recorded_at:
|
124
|
+
recorded_at: Wed, 11 Mar 2015 17:13:05 GMT
|
125
125
|
recorded_with: VCR 2.9.3
|