sirlantis-vimeo 1.3.1

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.
@@ -0,0 +1,40 @@
1
+ module Vimeo
2
+ module Advanced
3
+
4
+ class Test < Vimeo::Advanced::Base
5
+ # An echo test. Echoes all parameters.
6
+ # Options can be anything except method, api_key,
7
+ # and api_sig -- if any of these options are
8
+ # present they will be overwritten by the proper
9
+ # values.
10
+ def echo(options={})
11
+ options.merge!(:method => "vimeo.test.echo")
12
+ api_sig = generate_api_sig options
13
+ options.merge!(:api_sig => api_sig)
14
+ self.class.post("/api/rest", :query => options)
15
+ end
16
+
17
+ # A null test.
18
+ def null(auth_token)
19
+ sig_options = {
20
+ :auth_token => auth_token,
21
+ :method => "vimeo.test.null"
22
+ }
23
+
24
+ make_request sig_options
25
+ end
26
+
27
+ # Tests if the user associated to this token
28
+ # is able to make authenticated calls.
29
+ def login(auth_token)
30
+ sig_options = {
31
+ :auth_token => auth_token,
32
+ :method => "vimeo.test.login"
33
+ }
34
+
35
+ make_request sig_options
36
+ end
37
+ end
38
+
39
+ end # Advanced
40
+ end # Vimeo
@@ -0,0 +1,68 @@
1
+ require 'webrick/httputils'
2
+ require 'curl'
3
+
4
+
5
+ module Vimeo
6
+ module Advanced
7
+
8
+ class Upload < Vimeo::Advanced::Base
9
+
10
+ def get_upload_ticket(auth_token)
11
+ sig_options = {
12
+ :auth_token => auth_token,
13
+ :method => "vimeo.videos.upload.getTicket"
14
+ }
15
+
16
+ make_request sig_options
17
+ end
18
+
19
+ def check_upload_status(ticket_id, auth_token)
20
+ sig_options = {
21
+ :ticket_id => ticket_id,
22
+ :auth_token => auth_token,
23
+ :method => "vimeo.videos.checkUploadStatus"
24
+ }
25
+
26
+ make_request sig_options
27
+ end
28
+
29
+ def confirm_upload(auth_token, ticket_id, json_manifest)
30
+ sig_options = {
31
+ :auth_token => auth_token,
32
+ :ticket_id => ticket_id,
33
+ :method => "vimeo.videos.upload.confirm"
34
+ }
35
+ api_sig = generate_api_sig(sig_options)
36
+ puts "/api/rest/v2/?#{query(sig_options, api_sig).to_params}"
37
+ self.class.post "/api/rest/v2/", :body => query(sig_options.merge(:json_manifest => json_manifest), api_sig)
38
+ end
39
+
40
+ ###
41
+ # Upload +file+ to vimeo with +ticket_id+ and +auth_token+
42
+ def upload file, ticket_id, end_point, auth_token
43
+ params = {
44
+ :auth_token => auth_token,
45
+ :ticket_id => ticket_id
46
+ }
47
+ params[:api_sig] = generate_api_sig params
48
+
49
+ c = Curl::Easy.new(end_point)
50
+ c.multipart_form_post = true
51
+ c.http_post(
52
+ *(params.map { |k,v| Curl::PostField.content(k.to_s, v) } +
53
+ [Curl::PostField.file('file_data', file)])
54
+ )
55
+ {:files => [{:md5 => c.body_str}]}.to_json
56
+ end
57
+
58
+ def signature_for_file_upload(ticket_id, auth_token)
59
+ sig_options = {
60
+ :ticket_id => ticket_id,
61
+ :auth_token => auth_token
62
+ }
63
+ generate_api_sig sig_options
64
+ end
65
+ end
66
+
67
+ end # Advanced
68
+ end # Vimeo
@@ -0,0 +1,321 @@
1
+ module Vimeo
2
+ module Advanced
3
+
4
+ class Video < Vimeo::Advanced::Base
5
+
6
+ def get_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0 })
7
+ sig_options = {
8
+ :user_id => user_id,
9
+ :page => options[:page],
10
+ :per_page => options[:per_page],
11
+ :fullResponse => options[:full_response],
12
+ :method => "vimeo.videos.getList"
13
+ }
14
+
15
+ make_request sig_options
16
+ end
17
+
18
+ def get_uploaded_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
19
+ sig_options = {
20
+ :user_id => user_id,
21
+ :page => options[:page],
22
+ :per_page => options[:per_page],
23
+ :fullResponse => options[:full_response],
24
+ :auth_token => options[:auth_token],
25
+ :method => "vimeo.videos.getUploadedList"
26
+ }
27
+
28
+ make_request sig_options
29
+ end
30
+
31
+ def get_appears_in_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
32
+ sig_options = {
33
+ :user_id => user_id,
34
+ :page => options[:page],
35
+ :per_page => options[:per_page],
36
+ :fullResponse => options[:full_response],
37
+ :method => "vimeo.videos.getAppearsInList"
38
+ }
39
+
40
+ make_request sig_options
41
+ end
42
+
43
+ def get_subscriptions_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
44
+ sig_options = {
45
+ :user_id => user_id,
46
+ :page => options[:page],
47
+ :per_page => options[:per_page],
48
+ :fullResponse => options[:full_response],
49
+ :auth_token => options[:auth_token],
50
+ :method => "vimeo.videos.getSubscriptionsList"
51
+ }
52
+
53
+ make_request sig_options
54
+ end
55
+
56
+ def get_list_by_tag(tag, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
57
+ user_id = options[:user_id]
58
+
59
+ sig_options = {
60
+ :tag => tag,
61
+ :page => options[:page],
62
+ :per_page => options[:per_page],
63
+ :fullResponse => options[:full_response],
64
+ :auth_token => options[:auth_token],
65
+ :method => "vimeo.videos.getListByTag"
66
+ }
67
+ sig_options.merge! :user_id => user_id if !user_id.nil?
68
+
69
+ make_request sig_options
70
+ end
71
+
72
+ def get_like_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
73
+ sig_options = {
74
+ :user_id => user_id,
75
+ :page => options[:page],
76
+ :per_page => options[:per_page],
77
+ :fullResponse => options[:full_response],
78
+ :auth_token => options[:auth_token],
79
+ :method => "vimeo.videos.getLikeList"
80
+ }
81
+
82
+ make_request sig_options
83
+ end
84
+
85
+ def get_contacts_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
86
+ sig_options = {
87
+ :user_id => user_id,
88
+ :page => options[:page],
89
+ :per_page => options[:per_page],
90
+ :fullResponse => options[:full_response],
91
+ :auth_token => options[:auth_token],
92
+ :method => "vimeo.videos.getContactsList"
93
+ }
94
+
95
+ make_request sig_options
96
+ end
97
+
98
+ def get_contacts_like_list(user_id, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
99
+ sig_options = {
100
+ :user_id => user_id,
101
+ :page => options[:page],
102
+ :per_page => options[:per_page],
103
+ :fullResponse => options[:full_response],
104
+ :auth_token => options[:auth_token],
105
+ :method => "vimeo.videos.getContactsLikeList"
106
+ }
107
+
108
+ make_request sig_options
109
+ end
110
+
111
+ def search(q, options={ :page => 1, :per_page => 25, :full_response => 0, :auth_token => nil })
112
+ user_id = options[:user_id]
113
+ contacts_only = options[:contacts_only]
114
+
115
+ sig_options = {
116
+ :query => q,
117
+ :page => options[:page],
118
+ :per_page => options[:per_page],
119
+ :fullResponse => options[:full_response],
120
+ :auth_token => options[:auth_token],
121
+ :method => "vimeo.videos.search"
122
+ }
123
+ sig_options.merge! :user_id => user_id if !user_id.nil?
124
+ sig_options.merge! :contacts_only => contacts_only if !contacts_only.nil?
125
+
126
+ make_request sig_options
127
+ end
128
+
129
+ def get_info(video_id, auth_token=nil)
130
+ sig_options = {
131
+ :video_id => video_id,
132
+ :auth_token => auth_token,
133
+ :method => "vimeo.videos.getInfo"
134
+ }
135
+
136
+ make_request sig_options
137
+ end
138
+
139
+ def delete(video_id, auth_token)
140
+ sig_options = {
141
+ :video_id => video_id,
142
+ :auth_token => auth_token,
143
+ :method => "vimeo.videos.delete"
144
+ }
145
+
146
+ make_request sig_options
147
+ end
148
+
149
+ def get_thumbnail_url(video_id)
150
+ sig_options = {
151
+ :video_id => video_id,
152
+ :method => "vimeo.videos.getThumbnailUrls"
153
+ }
154
+
155
+ make_request sig_options
156
+ end
157
+
158
+ def set_title(video_id, title, auth_token)
159
+ sig_options = {
160
+ :video_id => video_id,
161
+ :title => title,
162
+ :auth_token => auth_token,
163
+ :method => "vimeo.videos.setTitle"
164
+ }
165
+
166
+ make_request sig_options
167
+ end
168
+
169
+ def set_caption(video_id, caption, auth_token)
170
+ sig_options = {
171
+ :video_id => video_id,
172
+ :caption => caption,
173
+ :auth_token => auth_token,
174
+ :method => "vimeo.videos.setCaption"
175
+ }
176
+
177
+ make_request sig_options
178
+ end
179
+
180
+ def set_favorite(video_id, favorite, auth_token)
181
+ f = favorite ? true : false
182
+
183
+ sig_options = {
184
+ :video_id => video_id,
185
+ :favorite => f,
186
+ :auth_token => auth_token,
187
+ :method => "vimeo.videos.setFavorite"
188
+ }
189
+
190
+ make_request sig_options
191
+ end
192
+
193
+ def add_tags(video_id, tags, auth_token)
194
+ sig_options = {
195
+ :video_id => video_id,
196
+ :tags => tags,
197
+ :auth_token => auth_token,
198
+ :method => "vimeo.videos.addTags"
199
+ }
200
+
201
+ make_request sig_options
202
+ end
203
+
204
+ def remove_tag(video_id, tag_id, auth_token)
205
+ sig_options = {
206
+ :video_id => video_id,
207
+ :tag_id => tag_id,
208
+ :auth_token => auth_token,
209
+ :method => "vimeo.videos.removeTag"
210
+ }
211
+
212
+ make_request sig_options
213
+ end
214
+
215
+ def clear_tags(video_id, auth_token)
216
+ sig_options = {
217
+ :video_id => video_id,
218
+ :auth_token => auth_token,
219
+ :method => "vimeo.videos.clearTags"
220
+ }
221
+
222
+ make_request sig_options
223
+ end
224
+
225
+ def add_cast(video_id, user_id, auth_token, options={})
226
+ role = options[:role]
227
+
228
+ sig_options = {
229
+ :video_id => video_id,
230
+ :user_id => user_id,
231
+ :auth_token => auth_token,
232
+ :method => "vimeo.videos.addCast"
233
+ }
234
+ sig_options.merge! :role => role unless role.nil?
235
+
236
+ make_request sig_options
237
+ end
238
+
239
+ def get_cast(video_id, auth_token=nil)
240
+ sig_options = {
241
+ :video_id => video_id,
242
+ :auth_token => auth_token,
243
+ :method => "vimeo.videos.getCast"
244
+ }
245
+
246
+ make_request sig_options
247
+ end
248
+
249
+ def remove_cast(video_id, user_id, auth_token)
250
+ sig_options = {
251
+ :video_id => video_id,
252
+ :user_id => user_id,
253
+ :auth_token => auth_token,
254
+ :method => "vimeo.videos.removeCast"
255
+ }
256
+
257
+ make_request sig_options
258
+ end
259
+
260
+ # TODO: Add ability to specify users
261
+ def set_privacy(video_id, privacy, auth_token)
262
+ sig_options = {
263
+ :video_id => video_id,
264
+ :privacy => privacy,
265
+ :auth_token => auth_token,
266
+ :method => "vimeo.videos.setPrivacy"
267
+ }
268
+
269
+ make_request sig_options
270
+ end
271
+
272
+ def get_comments_list(video_id)
273
+ sig_options = {
274
+ :video_id => video_id,
275
+ :method => "vimeo.videos.comments.getList"
276
+ }
277
+
278
+ make_request sig_options
279
+ end
280
+
281
+ def add_comment(video_id, comment_text, auth_token, options={})
282
+ reply_to_comment_id = options[:reply_to_comment_id]
283
+
284
+ sig_options = {
285
+ :video_id => video_id,
286
+ :comment_text => comment_text,
287
+ :auth_token => auth_token,
288
+ :method => "vimeo.videos.comments.addComment"
289
+ }
290
+ sig_options.merge! :reply_to_comment_id => reply_to_comment_id unless reply_to_comment_id.nil?
291
+
292
+ make_request sig_options
293
+ end
294
+
295
+ def delete_comment(video_id, comment_id, auth_token)
296
+ sig_options = {
297
+ :video_id => video_id,
298
+ :comment_id => comment_id,
299
+ :auth_token => auth_token,
300
+ :method => "vimeo.videos.comments.deleteComment"
301
+ }
302
+
303
+ make_request sig_options
304
+ end
305
+
306
+ def edit_comment(video_id, comment_id, comment_text, auth_token)
307
+ sig_options = {
308
+ :video_id => video_id,
309
+ :comment_id => comment_id,
310
+ :comment_text => comment_text,
311
+ :auth_token => auth_token,
312
+ :method => "vimeo.videos.comments.editComment"
313
+ }
314
+
315
+ make_request sig_options
316
+ end
317
+
318
+ end
319
+
320
+ end # Advanced
321
+ end # Vimeo
@@ -0,0 +1,13 @@
1
+ require 'vimeo/simple/base'
2
+ require 'vimeo/simple/activity'
3
+ require 'vimeo/simple/album'
4
+ require 'vimeo/simple/channel'
5
+ require 'vimeo/simple/clip'
6
+ require 'vimeo/simple/group'
7
+ require 'vimeo/simple/user'
8
+
9
+ module Vimeo
10
+ module Simple
11
+
12
+ end # Simple
13
+ end # Vimeo
@@ -0,0 +1,27 @@
1
+ module Vimeo
2
+ module Simple
3
+
4
+ class Activity < Vimeo::Simple::Base
5
+ def self.user_did(username)
6
+ get("/activity/#{username}/user_did.json")
7
+ end
8
+
9
+ def self.happened_to_user(username)
10
+ get("/activity/#{username}/happened_to_user.json")
11
+ end
12
+
13
+ def self.contacts_did(username)
14
+ get("/activity/#{username}/contacts_did.json")
15
+ end
16
+
17
+ def self.happened_to_contacts(username)
18
+ get("/activity/#{username}/happened_to_contacts.json")
19
+ end
20
+
21
+ def self.everyone_did(username)
22
+ get("/activity/#{username}/everyone_did.json")
23
+ end
24
+ end
25
+
26
+ end # Simple
27
+ end # Vimeo