purdie 0.0.11 → 0.0.12

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 (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