purdie 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +1 -0
  4. data/README.md +25 -11
  5. data/_config/defaults.yaml +0 -21
  6. data/_config/licenses.yaml +33 -0
  7. data/features/duff-credentials.feature +33 -0
  8. data/features/flickr-album.feature +1 -1
  9. data/features/flickr-with-lookups.feature +29 -0
  10. data/features/rfm.feature +2 -2
  11. data/features/step_definitions/purdie_steps.rb +26 -0
  12. data/features/support/fixtures/_config/purdie.yaml +1 -1
  13. data/features/support/fixtures/vcr/A_URL_we_don_t_understand/Handle_a_URL_we_don_t_recognise.yml +15 -15
  14. data/features/support/fixtures/vcr/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +59 -53
  15. data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML.yml +15 -15
  16. data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML_with_lookups.yml +123 -0
  17. data/features/support/fixtures/vcr/Flickr_album/Generate_Flickr_YAML_for_an_album.yml +137 -137
  18. data/features/support/fixtures/vcr/Handle_comments/Handle_comments_in_a_source_file.yml +21 -28
  19. data/features/support/fixtures/vcr/Missing_or_bad_credentials/Bad_credentials_for_multiple_services.yml +156 -0
  20. data/features/support/fixtures/vcr/Purdie/Generate_several_YAML.yml +37 -36
  21. data/features/support/fixtures/vcr/Select_a_file_to_process/Choose_file_to_process.yml +7 -7
  22. data/features/support/fixtures/vcr/Set_Flickr_picturesize/Generate_Flickr_YAML.yml +16 -16
  23. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML.yml +7 -7
  24. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +14 -14
  25. data/features/support/fixtures/vcr/Soundcloud_set/Generate_YAML_for_a_SoundCloud_set.yml +58 -33
  26. data/features/support/fixtures/vcr/Vimeo/Generate_Vimeo_YAML.yml +8 -8
  27. data/features/support/fixtures/vcr/Vimeo_albums/Generate_YAML_for_a_Vimeo_album.yml +210 -0
  28. data/features/support/fixtures/vcr/YouTube/Generate_YouTube_YAML.yml +9 -9
  29. data/features/support/fixtures/vcr/YouTube_playlists/Generate_YAML_for_a_YouTube_playlist.yml +2503 -0
  30. data/features/vimeo-albums.feature +27 -0
  31. data/features/youtube-playlist.feature +54 -0
  32. data/lib/purdie/bernard.rb +24 -1
  33. data/lib/purdie/cli.rb +4 -0
  34. data/lib/purdie/exceptions.rb +20 -0
  35. data/lib/purdie/helpers.rb +17 -2
  36. data/lib/purdie/ingester.rb +15 -10
  37. data/lib/purdie/license_manager.rb +41 -0
  38. data/lib/purdie/services/flickr.rb +14 -2
  39. data/lib/purdie/services/soundcloud.rb +13 -4
  40. data/lib/purdie/services/vimeo.rb +13 -6
  41. data/lib/purdie/services/youtube.rb +46 -4
  42. data/lib/purdie/source_list.rb +10 -16
  43. data/lib/purdie/version.rb +1 -1
  44. data/lib/purdie.rb +10 -0
  45. data/spec/duff_keys_spec.rb +115 -0
  46. data/spec/helpers_spec.rb +12 -5
  47. data/spec/license_manager_spec.rb +20 -0
  48. data/spec/services/flickr_spec.rb +24 -15
  49. data/spec/services/soundcloud_spec.rb +2 -2
  50. data/spec/services/vimeo_spec.rb +6 -6
  51. data/spec/services/youtube_spec.rb +14 -1
  52. data/spec/source_list_spec.rb +14 -4
  53. data/spec/spec_helper.rb +32 -0
  54. data/spec/support/fixtures/vimeo.vids +1 -0
  55. data/spec/vcr/Purdie_Services_Flickr/do_the_local_config_lookups/looks_up_the_default_title.yml +123 -0
  56. data/spec/vcr/Purdie_Services_Flickr/falls_back_to_the_default_photographer_name.yml +20 -19
  57. data/spec/vcr/Purdie_Services_Flickr/ingests_data_for_a_photo_without_a_specific_photographer_tag.yml +20 -21
  58. data/spec/vcr/Purdie_Services_Flickr/licenses_items_correctly.yml +180 -0
  59. data/spec/vcr/Purdie_Services_Vimeo/ingests_a_video.yml +8 -8
  60. data/spec/vcr/Purdie_Services_Vimeo/resolve_an_album/resolves_an_album_from_a_URL.yml +59 -0
  61. data/spec/vcr/Purdie_Services_YouTube/gets_the_correct_license.yml +976 -0
  62. data/spec/vcr/Purdie_Services_YouTube/resolve_a_playlist/resolves_a_playlist_from_a_shitty_YouTube_URL.yml +970 -0
  63. metadata +37 -4
  64. data/_data/flickr.yaml +0 -4
  65. data/_data/soundcloud.yaml +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4e6e972e93cf8cdd2ec9d9eeef1b617445d7a20
4
- data.tar.gz: 44a7bb6b0d4030f7a27a03fe85f827df4b1d4942
3
+ metadata.gz: c7ede05eac12185b11e1038f17880897a4341680
4
+ data.tar.gz: 51528843daf81c4e7e17e503861a971dd224ab9e
5
5
  SHA512:
6
- metadata.gz: bbc8b0189d139240c47f2916cbdced45818c7b7c9480e2c4e22bbf45876953eea012bf040b06276585c4a6b507c6437dc08560b49c789e281aaa0efee9b5bf00
7
- data.tar.gz: 096c577dad0b09883efbfded82434faac5f6034066e98e1a221d6b94d10fa2bd229f1764ee89be8e8709f360d0a61107f6c63a4bd1dc1eb0c4510de84069363b
6
+ metadata.gz: bd59f0cb292e5626b3f852cb47285b75f2864afc23417797d5ce1d46ede91b83a99ebf8162667e1e059d35ce0bea40b5acbe5201f09d2ac149cd994ceab1e53c
7
+ data.tar.gz: 0d6759f0aa70f5a59a54645628b549c2d4951fdc204a56e76f343af7c0e57610ce7d8cd23872e67d5b7270647a310282c72b200447083e9d61a78b900c58bcaf
data/.gitignore CHANGED
@@ -13,4 +13,5 @@
13
13
  *.a
14
14
  mkmf.log
15
15
  .env
16
- cruft.rb
16
+ _data/
17
+ *log
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
- (you can alternatively specify a source file on the command line with the `-f` flag).
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) and [Vimeo](https://developer.vimeo.com/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*, ready for Jekyll to consume.
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 now 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:
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#L31)
97
- * [Vimeo](https://github.com/rawfunkmaharishi/purdie/blob/master/lib/purdie/services/vimeo.rb#L28)
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?
@@ -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: pikesley
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: jane
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: jane
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
@@ -1,4 +1,4 @@
1
1
  default_title: Raw Funk Maharishi
2
2
 
3
3
  photographer_lookups:
4
- cluttercup: jane
4
+ pikesley: sam
@@ -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="BhHMbdRV8L2SQzpYSRL%2FWCxnjGwaREmYEq3r26OG2rE%3D", oauth_signature="<FLICKR_SECRET>%26",
19
- oauth_signature_method="PLAINTEXT", oauth_timestamp="1426006401", oauth_token="",
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
- - Tue, 10 Mar 2015 16:53:22 GMT
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
- - www55.flickr.bf1.yahoo.com
41
+ - www58.flickr.bf1.yahoo.com
42
42
  Vary:
43
43
  - Accept-Encoding
44
44
  Age:
45
- - '2'
45
+ - '0'
46
46
  Via:
47
- - http/1.1 fts110.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
- http/1.1 r12.ycpi.dea.yahoo.net (ApacheTrafficServer [cMsSf ])
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: Tue, 10 Mar 2015 16:53:22 GMT
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="092C0sA5RStztAm86VzUC4lS07gEfaNnCTwQz1TAY3Y%3D", oauth_signature="<FLICKR_SECRET>%26",
78
- oauth_signature_method="PLAINTEXT", oauth_timestamp="1426006402", oauth_token="",
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
- - Tue, 10 Mar 2015 16:53:22 GMT
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
- - www48.flickr.bf1.yahoo.com
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 fts125.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
107
- http/1.1 r02.ycpi.dea.yahoo.net (ApacheTrafficServer [cMsSf ])
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: Tue, 10 Mar 2015 16:53:22 GMT
124
+ recorded_at: Wed, 11 Mar 2015 17:13:05 GMT
125
125
  recorded_with: VCR 2.9.3