kaltura-ruby-client 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/README +20 -0
  3. data/Rakefile +19 -0
  4. data/agpl.txt +674 -0
  5. data/kaltura.yml +7 -0
  6. data/lib/kaltura.rb +31 -0
  7. data/lib/kaltura_client.rb +14450 -0
  8. data/lib/kaltura_client_base.rb +432 -0
  9. data/lib/kaltura_plugins/kaltura_abc_screeners_watermark_access_control_client_plugin.rb +37 -0
  10. data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +108 -0
  11. data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +237 -0
  12. data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +61 -0
  13. data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +227 -0
  14. data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +349 -0
  15. data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +109 -0
  16. data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +55 -0
  17. data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +46 -0
  18. data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +40 -0
  19. data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +406 -0
  20. data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +138 -0
  21. data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +97 -0
  22. data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +1717 -0
  23. data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +290 -0
  24. data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +522 -0
  25. data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +204 -0
  26. data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +810 -0
  27. data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +39 -0
  28. data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +276 -0
  29. data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +405 -0
  30. data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +203 -0
  31. data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +151 -0
  32. data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +309 -0
  33. data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +72 -0
  34. data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +82 -0
  35. data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +788 -0
  36. data/lib/kaltura_plugins/kaltura_multi_centers_client_plugin.rb +45 -0
  37. data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +231 -0
  38. data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +145 -0
  39. data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +238 -0
  40. data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +40 -0
  41. data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +263 -0
  42. data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +121 -0
  43. data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +195 -0
  44. data/license.txt +674 -0
  45. data/test/access_control_service_test.rb +75 -0
  46. data/test/base_entry_service_test.rb +267 -0
  47. data/test/configuration_test.rb +178 -0
  48. data/test/cue_point_service_test.rb +67 -0
  49. data/test/data_service_test.rb +76 -0
  50. data/test/document_service_test.rb +41 -0
  51. data/test/media/test.mov +0 -0
  52. data/test/media/test.pdf +0 -0
  53. data/test/media/test.png +0 -0
  54. data/test/media/test.swf +0 -0
  55. data/test/media/test.wmv +0 -0
  56. data/test/media_service_test.rb +294 -0
  57. data/test/metadata_profile_service_test.rb +63 -0
  58. data/test/test_helper.rb +59 -0
  59. metadata +127 -0
@@ -0,0 +1,72 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+ class KalturaKontikiStorageProfileOrderBy
33
+ CREATED_AT_ASC = "+createdAt"
34
+ UPDATED_AT_ASC = "+updatedAt"
35
+ CREATED_AT_DESC = "-createdAt"
36
+ UPDATED_AT_DESC = "-updatedAt"
37
+ end
38
+
39
+ class KalturaKontikiStorageProfile < KalturaStorageProfile
40
+ attr_accessor :service_token
41
+
42
+ end
43
+
44
+ class KalturaKontikiStorageDeleteJobData < KalturaStorageDeleteJobData
45
+ # Unique Kontiki MOID for the content uploaded to Kontiki
46
+ #
47
+ attr_accessor :content_moid
48
+ attr_accessor :service_token
49
+
50
+ end
51
+
52
+ class KalturaKontikiStorageExportJobData < KalturaStorageExportJobData
53
+ # Holds the id of the exported asset
54
+ #
55
+ attr_accessor :flavor_asset_id
56
+ # Unique Kontiki MOID for the content uploaded to Kontiki
57
+ #
58
+ attr_accessor :content_moid
59
+ attr_accessor :service_token
60
+
61
+ end
62
+
63
+ class KalturaKontikiStorageProfileBaseFilter < KalturaStorageProfileFilter
64
+
65
+ end
66
+
67
+ class KalturaKontikiStorageProfileFilter < KalturaKontikiStorageProfileBaseFilter
68
+
69
+ end
70
+
71
+
72
+ end
@@ -0,0 +1,82 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+
33
+ # Allows user to 'like' or 'unlike' and entry
34
+ #
35
+ class KalturaLikeService < KalturaServiceBase
36
+ def initialize(client)
37
+ super(client)
38
+ end
39
+
40
+ def like(entry_id)
41
+ kparams = {}
42
+ client.add_param(kparams, 'entryId', entry_id);
43
+ client.queue_service_action_call('like_like', 'like', kparams);
44
+ if (client.is_multirequest)
45
+ return nil;
46
+ end
47
+ return client.do_queue();
48
+ end
49
+
50
+ def unlike(entry_id)
51
+ kparams = {}
52
+ client.add_param(kparams, 'entryId', entry_id);
53
+ client.queue_service_action_call('like_like', 'unlike', kparams);
54
+ if (client.is_multirequest)
55
+ return nil;
56
+ end
57
+ return client.do_queue();
58
+ end
59
+
60
+ def check_like_exists(entry_id, user_id=KalturaNotImplemented)
61
+ kparams = {}
62
+ client.add_param(kparams, 'entryId', entry_id);
63
+ client.add_param(kparams, 'userId', user_id);
64
+ client.queue_service_action_call('like_like', 'checkLikeExists', kparams);
65
+ if (client.is_multirequest)
66
+ return nil;
67
+ end
68
+ return client.do_queue();
69
+ end
70
+ end
71
+
72
+ class KalturaClient < KalturaClientBase
73
+ attr_reader :like_service
74
+ def like_service
75
+ if (@like_service == nil)
76
+ @like_service = KalturaLikeService.new(self)
77
+ end
78
+ return @like_service
79
+ end
80
+ end
81
+
82
+ end
@@ -0,0 +1,788 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+ class KalturaMetadataProfileCreateMode
33
+ API = 1
34
+ KMC = 2
35
+ APP = 3
36
+ end
37
+
38
+ class KalturaMetadataProfileStatus
39
+ ACTIVE = 1
40
+ DEPRECATED = 2
41
+ TRANSFORMING = 3
42
+ end
43
+
44
+ class KalturaMetadataStatus
45
+ VALID = 1
46
+ INVALID = 2
47
+ DELETED = 3
48
+ end
49
+
50
+ class KalturaMetadataObjectType
51
+ AD_CUE_POINT = "adCuePointMetadata.AdCuePoint"
52
+ ANNOTATION = "annotationMetadata.Annotation"
53
+ CODE_CUE_POINT = "codeCuePointMetadata.CodeCuePoint"
54
+ ENTRY = "1"
55
+ CATEGORY = "2"
56
+ USER = "3"
57
+ PARTNER = "4"
58
+ end
59
+
60
+ class KalturaMetadataOrderBy
61
+ CREATED_AT_ASC = "+createdAt"
62
+ METADATA_PROFILE_VERSION_ASC = "+metadataProfileVersion"
63
+ UPDATED_AT_ASC = "+updatedAt"
64
+ VERSION_ASC = "+version"
65
+ CREATED_AT_DESC = "-createdAt"
66
+ METADATA_PROFILE_VERSION_DESC = "-metadataProfileVersion"
67
+ UPDATED_AT_DESC = "-updatedAt"
68
+ VERSION_DESC = "-version"
69
+ end
70
+
71
+ class KalturaMetadataProfileOrderBy
72
+ CREATED_AT_ASC = "+createdAt"
73
+ UPDATED_AT_ASC = "+updatedAt"
74
+ CREATED_AT_DESC = "-createdAt"
75
+ UPDATED_AT_DESC = "-updatedAt"
76
+ end
77
+
78
+ class KalturaMetadata < KalturaObjectBase
79
+ attr_accessor :id
80
+ attr_accessor :partner_id
81
+ attr_accessor :metadata_profile_id
82
+ attr_accessor :metadata_profile_version
83
+ attr_accessor :metadata_object_type
84
+ attr_accessor :object_id
85
+ attr_accessor :version
86
+ attr_accessor :created_at
87
+ attr_accessor :updated_at
88
+ attr_accessor :status
89
+ attr_accessor :xml
90
+
91
+ def id=(val)
92
+ @id = val.to_i
93
+ end
94
+ def partner_id=(val)
95
+ @partner_id = val.to_i
96
+ end
97
+ def metadata_profile_id=(val)
98
+ @metadata_profile_id = val.to_i
99
+ end
100
+ def metadata_profile_version=(val)
101
+ @metadata_profile_version = val.to_i
102
+ end
103
+ def version=(val)
104
+ @version = val.to_i
105
+ end
106
+ def created_at=(val)
107
+ @created_at = val.to_i
108
+ end
109
+ def updated_at=(val)
110
+ @updated_at = val.to_i
111
+ end
112
+ def status=(val)
113
+ @status = val.to_i
114
+ end
115
+ end
116
+
117
+ class KalturaMetadataListResponse < KalturaObjectBase
118
+ attr_accessor :objects
119
+ attr_accessor :total_count
120
+
121
+ def total_count=(val)
122
+ @total_count = val.to_i
123
+ end
124
+ end
125
+
126
+ class KalturaMetadataProfile < KalturaObjectBase
127
+ attr_accessor :id
128
+ attr_accessor :partner_id
129
+ attr_accessor :metadata_object_type
130
+ attr_accessor :version
131
+ attr_accessor :name
132
+ attr_accessor :system_name
133
+ attr_accessor :description
134
+ attr_accessor :created_at
135
+ attr_accessor :updated_at
136
+ attr_accessor :status
137
+ attr_accessor :xsd
138
+ attr_accessor :views
139
+ attr_accessor :xslt
140
+ attr_accessor :create_mode
141
+
142
+ def id=(val)
143
+ @id = val.to_i
144
+ end
145
+ def partner_id=(val)
146
+ @partner_id = val.to_i
147
+ end
148
+ def version=(val)
149
+ @version = val.to_i
150
+ end
151
+ def created_at=(val)
152
+ @created_at = val.to_i
153
+ end
154
+ def updated_at=(val)
155
+ @updated_at = val.to_i
156
+ end
157
+ def status=(val)
158
+ @status = val.to_i
159
+ end
160
+ def create_mode=(val)
161
+ @create_mode = val.to_i
162
+ end
163
+ end
164
+
165
+ class KalturaMetadataProfileField < KalturaObjectBase
166
+ attr_accessor :id
167
+ attr_accessor :x_path
168
+ attr_accessor :key
169
+ attr_accessor :label
170
+
171
+ def id=(val)
172
+ @id = val.to_i
173
+ end
174
+ end
175
+
176
+ class KalturaMetadataProfileFieldListResponse < KalturaObjectBase
177
+ attr_accessor :objects
178
+ attr_accessor :total_count
179
+
180
+ def total_count=(val)
181
+ @total_count = val.to_i
182
+ end
183
+ end
184
+
185
+ class KalturaMetadataProfileListResponse < KalturaObjectBase
186
+ attr_accessor :objects
187
+ attr_accessor :total_count
188
+
189
+ def total_count=(val)
190
+ @total_count = val.to_i
191
+ end
192
+ end
193
+
194
+ class KalturaImportMetadataJobData < KalturaJobData
195
+ attr_accessor :src_file_url
196
+ attr_accessor :dest_file_local_path
197
+ attr_accessor :metadata_id
198
+
199
+ def metadata_id=(val)
200
+ @metadata_id = val.to_i
201
+ end
202
+ end
203
+
204
+ class KalturaMetadataBaseFilter < KalturaFilter
205
+ attr_accessor :partner_id_equal
206
+ attr_accessor :metadata_profile_id_equal
207
+ attr_accessor :metadata_profile_version_equal
208
+ attr_accessor :metadata_profile_version_greater_than_or_equal
209
+ attr_accessor :metadata_profile_version_less_than_or_equal
210
+ attr_accessor :metadata_object_type_equal
211
+ attr_accessor :object_id_equal
212
+ attr_accessor :object_id_in
213
+ attr_accessor :version_equal
214
+ attr_accessor :version_greater_than_or_equal
215
+ attr_accessor :version_less_than_or_equal
216
+ attr_accessor :created_at_greater_than_or_equal
217
+ attr_accessor :created_at_less_than_or_equal
218
+ attr_accessor :updated_at_greater_than_or_equal
219
+ attr_accessor :updated_at_less_than_or_equal
220
+ attr_accessor :status_equal
221
+ attr_accessor :status_in
222
+
223
+ def partner_id_equal=(val)
224
+ @partner_id_equal = val.to_i
225
+ end
226
+ def metadata_profile_id_equal=(val)
227
+ @metadata_profile_id_equal = val.to_i
228
+ end
229
+ def metadata_profile_version_equal=(val)
230
+ @metadata_profile_version_equal = val.to_i
231
+ end
232
+ def metadata_profile_version_greater_than_or_equal=(val)
233
+ @metadata_profile_version_greater_than_or_equal = val.to_i
234
+ end
235
+ def metadata_profile_version_less_than_or_equal=(val)
236
+ @metadata_profile_version_less_than_or_equal = val.to_i
237
+ end
238
+ def version_equal=(val)
239
+ @version_equal = val.to_i
240
+ end
241
+ def version_greater_than_or_equal=(val)
242
+ @version_greater_than_or_equal = val.to_i
243
+ end
244
+ def version_less_than_or_equal=(val)
245
+ @version_less_than_or_equal = val.to_i
246
+ end
247
+ def created_at_greater_than_or_equal=(val)
248
+ @created_at_greater_than_or_equal = val.to_i
249
+ end
250
+ def created_at_less_than_or_equal=(val)
251
+ @created_at_less_than_or_equal = val.to_i
252
+ end
253
+ def updated_at_greater_than_or_equal=(val)
254
+ @updated_at_greater_than_or_equal = val.to_i
255
+ end
256
+ def updated_at_less_than_or_equal=(val)
257
+ @updated_at_less_than_or_equal = val.to_i
258
+ end
259
+ def status_equal=(val)
260
+ @status_equal = val.to_i
261
+ end
262
+ end
263
+
264
+ class KalturaMetadataProfileBaseFilter < KalturaFilter
265
+ attr_accessor :id_equal
266
+ attr_accessor :partner_id_equal
267
+ attr_accessor :metadata_object_type_equal
268
+ attr_accessor :metadata_object_type_in
269
+ attr_accessor :version_equal
270
+ attr_accessor :name_equal
271
+ attr_accessor :system_name_equal
272
+ attr_accessor :system_name_in
273
+ attr_accessor :created_at_greater_than_or_equal
274
+ attr_accessor :created_at_less_than_or_equal
275
+ attr_accessor :updated_at_greater_than_or_equal
276
+ attr_accessor :updated_at_less_than_or_equal
277
+ attr_accessor :status_equal
278
+ attr_accessor :status_in
279
+ attr_accessor :create_mode_equal
280
+ attr_accessor :create_mode_not_equal
281
+ attr_accessor :create_mode_in
282
+ attr_accessor :create_mode_not_in
283
+
284
+ def id_equal=(val)
285
+ @id_equal = val.to_i
286
+ end
287
+ def partner_id_equal=(val)
288
+ @partner_id_equal = val.to_i
289
+ end
290
+ def version_equal=(val)
291
+ @version_equal = val.to_i
292
+ end
293
+ def created_at_greater_than_or_equal=(val)
294
+ @created_at_greater_than_or_equal = val.to_i
295
+ end
296
+ def created_at_less_than_or_equal=(val)
297
+ @created_at_less_than_or_equal = val.to_i
298
+ end
299
+ def updated_at_greater_than_or_equal=(val)
300
+ @updated_at_greater_than_or_equal = val.to_i
301
+ end
302
+ def updated_at_less_than_or_equal=(val)
303
+ @updated_at_less_than_or_equal = val.to_i
304
+ end
305
+ def status_equal=(val)
306
+ @status_equal = val.to_i
307
+ end
308
+ def create_mode_equal=(val)
309
+ @create_mode_equal = val.to_i
310
+ end
311
+ def create_mode_not_equal=(val)
312
+ @create_mode_not_equal = val.to_i
313
+ end
314
+ end
315
+
316
+ class KalturaTransformMetadataJobData < KalturaJobData
317
+ attr_accessor :src_xsl_path
318
+ attr_accessor :src_version
319
+ attr_accessor :dest_version
320
+ attr_accessor :dest_xsd_path
321
+ attr_accessor :metadata_profile_id
322
+
323
+ def src_version=(val)
324
+ @src_version = val.to_i
325
+ end
326
+ def dest_version=(val)
327
+ @dest_version = val.to_i
328
+ end
329
+ def metadata_profile_id=(val)
330
+ @metadata_profile_id = val.to_i
331
+ end
332
+ end
333
+
334
+ class KalturaCompareMetadataCondition < KalturaCompareCondition
335
+ # May contain the full xpath to the field in three formats
336
+ # 1. Slashed xPath, e.g. /metadata/myElementName
337
+ # 2. Using local-name function, e.g. /[local-name()='metadata']/[local-name()='myElementName']
338
+ # 3. Using only the field name, e.g. myElementName, it will be searched as //myElementName
339
+ #
340
+ attr_accessor :x_path
341
+ # Metadata profile id
342
+ #
343
+ attr_accessor :profile_id
344
+ # Metadata profile system name
345
+ #
346
+ attr_accessor :profile_system_name
347
+
348
+ def profile_id=(val)
349
+ @profile_id = val.to_i
350
+ end
351
+ end
352
+
353
+ class KalturaFileAssetFilter < KalturaFileAssetBaseFilter
354
+
355
+ end
356
+
357
+ class KalturaMatchMetadataCondition < KalturaMatchCondition
358
+ # May contain the full xpath to the field in three formats
359
+ # 1. Slashed xPath, e.g. /metadata/myElementName
360
+ # 2. Using local-name function, e.g. /[local-name()='metadata']/[local-name()='myElementName']
361
+ # 3. Using only the field name, e.g. myElementName, it will be searched as //myElementName
362
+ #
363
+ attr_accessor :x_path
364
+ # Metadata profile id
365
+ #
366
+ attr_accessor :profile_id
367
+ # Metadata profile system name
368
+ #
369
+ attr_accessor :profile_system_name
370
+
371
+ def profile_id=(val)
372
+ @profile_id = val.to_i
373
+ end
374
+ end
375
+
376
+ class KalturaMetadataFieldChangedCondition < KalturaMatchCondition
377
+ # May contain the full xpath to the field in three formats
378
+ # 1. Slashed xPath, e.g. /metadata/myElementName
379
+ # 2. Using local-name function, e.g. /[local-name()='metadata']/[local-name()='myElementName']
380
+ # 3. Using only the field name, e.g. myElementName, it will be searched as //myElementName
381
+ #
382
+ attr_accessor :x_path
383
+ # Metadata profile id
384
+ #
385
+ attr_accessor :profile_id
386
+ # Metadata profile system name
387
+ #
388
+ attr_accessor :profile_system_name
389
+ attr_accessor :version_a
390
+ attr_accessor :version_b
391
+
392
+ def profile_id=(val)
393
+ @profile_id = val.to_i
394
+ end
395
+ end
396
+
397
+ class KalturaMetadataFilter < KalturaMetadataBaseFilter
398
+
399
+ end
400
+
401
+ class KalturaMetadataProfileFilter < KalturaMetadataProfileBaseFilter
402
+
403
+ end
404
+
405
+ class KalturaMetadataSearchItem < KalturaSearchOperator
406
+ attr_accessor :metadata_profile_id
407
+ attr_accessor :order_by
408
+
409
+ def metadata_profile_id=(val)
410
+ @metadata_profile_id = val.to_i
411
+ end
412
+ end
413
+
414
+
415
+ # Metadata service
416
+ #
417
+ class KalturaMetadataService < KalturaServiceBase
418
+ def initialize(client)
419
+ super(client)
420
+ end
421
+
422
+ # Allows you to add a metadata object and metadata content associated with Kaltura object
423
+ #
424
+ def add(metadata_profile_id, object_type, object_id, xml_data)
425
+ kparams = {}
426
+ client.add_param(kparams, 'metadataProfileId', metadata_profile_id);
427
+ client.add_param(kparams, 'objectType', object_type);
428
+ client.add_param(kparams, 'objectId', object_id);
429
+ # XML metadata
430
+ client.add_param(kparams, 'xmlData', xml_data);
431
+ client.queue_service_action_call('metadata_metadata', 'add', kparams);
432
+ if (client.is_multirequest)
433
+ return nil;
434
+ end
435
+ return client.do_queue();
436
+ end
437
+
438
+ # Allows you to add a metadata object and metadata file associated with Kaltura object
439
+ #
440
+ def add_from_file(metadata_profile_id, object_type, object_id, xml_file)
441
+ kparams = {}
442
+ client.add_param(kparams, 'metadataProfileId', metadata_profile_id);
443
+ client.add_param(kparams, 'objectType', object_type);
444
+ client.add_param(kparams, 'objectId', object_id);
445
+ # XML metadata
446
+ client.add_param(kparams, 'xmlFile', xml_file);
447
+ client.queue_service_action_call('metadata_metadata', 'addFromFile', kparams);
448
+ if (client.is_multirequest)
449
+ return nil;
450
+ end
451
+ return client.do_queue();
452
+ end
453
+
454
+ # Allows you to add a metadata xml data from remote URL
455
+ #
456
+ def add_from_url(metadata_profile_id, object_type, object_id, url)
457
+ kparams = {}
458
+ client.add_param(kparams, 'metadataProfileId', metadata_profile_id);
459
+ client.add_param(kparams, 'objectType', object_type);
460
+ client.add_param(kparams, 'objectId', object_id);
461
+ # XML metadata remote url
462
+ client.add_param(kparams, 'url', url);
463
+ client.queue_service_action_call('metadata_metadata', 'addFromUrl', kparams);
464
+ if (client.is_multirequest)
465
+ return nil;
466
+ end
467
+ return client.do_queue();
468
+ end
469
+
470
+ # Allows you to add a metadata xml data from remote URL.
471
+ # Enables different permissions than addFromUrl action.
472
+ #
473
+ def add_from_bulk(metadata_profile_id, object_type, object_id, url)
474
+ kparams = {}
475
+ client.add_param(kparams, 'metadataProfileId', metadata_profile_id);
476
+ client.add_param(kparams, 'objectType', object_type);
477
+ client.add_param(kparams, 'objectId', object_id);
478
+ # XML metadata remote url
479
+ client.add_param(kparams, 'url', url);
480
+ client.queue_service_action_call('metadata_metadata', 'addFromBulk', kparams);
481
+ if (client.is_multirequest)
482
+ return nil;
483
+ end
484
+ return client.do_queue();
485
+ end
486
+
487
+ # Retrieve a metadata object by id
488
+ #
489
+ def get(id)
490
+ kparams = {}
491
+ client.add_param(kparams, 'id', id);
492
+ client.queue_service_action_call('metadata_metadata', 'get', kparams);
493
+ if (client.is_multirequest)
494
+ return nil;
495
+ end
496
+ return client.do_queue();
497
+ end
498
+
499
+ # Update an existing metadata object with new XML content
500
+ #
501
+ def update(id, xml_data=KalturaNotImplemented, version=KalturaNotImplemented)
502
+ kparams = {}
503
+ client.add_param(kparams, 'id', id);
504
+ # XML metadata
505
+ client.add_param(kparams, 'xmlData', xml_data);
506
+ # Enable update only if the metadata object version did not change by other process
507
+ client.add_param(kparams, 'version', version);
508
+ client.queue_service_action_call('metadata_metadata', 'update', kparams);
509
+ if (client.is_multirequest)
510
+ return nil;
511
+ end
512
+ return client.do_queue();
513
+ end
514
+
515
+ # Update an existing metadata object with new XML file
516
+ #
517
+ def update_from_file(id, xml_file=KalturaNotImplemented)
518
+ kparams = {}
519
+ client.add_param(kparams, 'id', id);
520
+ # XML metadata
521
+ client.add_param(kparams, 'xmlFile', xml_file);
522
+ client.queue_service_action_call('metadata_metadata', 'updateFromFile', kparams);
523
+ if (client.is_multirequest)
524
+ return nil;
525
+ end
526
+ return client.do_queue();
527
+ end
528
+
529
+ # List metadata objects by filter and pager
530
+ #
531
+ def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
532
+ kparams = {}
533
+ client.add_param(kparams, 'filter', filter);
534
+ client.add_param(kparams, 'pager', pager);
535
+ client.queue_service_action_call('metadata_metadata', 'list', kparams);
536
+ if (client.is_multirequest)
537
+ return nil;
538
+ end
539
+ return client.do_queue();
540
+ end
541
+
542
+ # Delete an existing metadata
543
+ #
544
+ def delete(id)
545
+ kparams = {}
546
+ client.add_param(kparams, 'id', id);
547
+ client.queue_service_action_call('metadata_metadata', 'delete', kparams);
548
+ if (client.is_multirequest)
549
+ return nil;
550
+ end
551
+ return client.do_queue();
552
+ end
553
+
554
+ # Mark existing metadata as invalid
555
+ # Used by batch metadata transform
556
+ #
557
+ def invalidate(id, version=KalturaNotImplemented)
558
+ kparams = {}
559
+ client.add_param(kparams, 'id', id);
560
+ # Enable update only if the metadata object version did not change by other process
561
+ client.add_param(kparams, 'version', version);
562
+ client.queue_service_action_call('metadata_metadata', 'invalidate', kparams);
563
+ if (client.is_multirequest)
564
+ return nil;
565
+ end
566
+ return client.do_queue();
567
+ end
568
+
569
+ # Serves metadata XML file
570
+ #
571
+ def serve(id)
572
+ kparams = {}
573
+ client.add_param(kparams, 'id', id);
574
+ client.queue_service_action_call('metadata_metadata', 'serve', kparams);
575
+ return client.get_serve_url();
576
+ end
577
+
578
+ # Action transforms current metadata object XML using a provided XSL.
579
+ #
580
+ def update_from_xsl(id, xsl_file)
581
+ kparams = {}
582
+ client.add_param(kparams, 'id', id);
583
+ client.add_param(kparams, 'xslFile', xsl_file);
584
+ client.queue_service_action_call('metadata_metadata', 'updateFromXSL', kparams);
585
+ if (client.is_multirequest)
586
+ return nil;
587
+ end
588
+ return client.do_queue();
589
+ end
590
+ end
591
+
592
+ # Metadata Profile service
593
+ #
594
+ class KalturaMetadataProfileService < KalturaServiceBase
595
+ def initialize(client)
596
+ super(client)
597
+ end
598
+
599
+ # Allows you to add a metadata profile object and metadata profile content associated with Kaltura object type
600
+ #
601
+ def add(metadata_profile, xsd_data, views_data=KalturaNotImplemented)
602
+ kparams = {}
603
+ client.add_param(kparams, 'metadataProfile', metadata_profile);
604
+ # XSD metadata definition
605
+ client.add_param(kparams, 'xsdData', xsd_data);
606
+ # UI views definition
607
+ client.add_param(kparams, 'viewsData', views_data);
608
+ client.queue_service_action_call('metadata_metadataprofile', 'add', kparams);
609
+ if (client.is_multirequest)
610
+ return nil;
611
+ end
612
+ return client.do_queue();
613
+ end
614
+
615
+ # Allows you to add a metadata profile object and metadata profile file associated with Kaltura object type
616
+ #
617
+ def add_from_file(metadata_profile, xsd_file, views_file=KalturaNotImplemented)
618
+ kparams = {}
619
+ client.add_param(kparams, 'metadataProfile', metadata_profile);
620
+ # XSD metadata definition
621
+ client.add_param(kparams, 'xsdFile', xsd_file);
622
+ # UI views definition
623
+ client.add_param(kparams, 'viewsFile', views_file);
624
+ client.queue_service_action_call('metadata_metadataprofile', 'addFromFile', kparams);
625
+ if (client.is_multirequest)
626
+ return nil;
627
+ end
628
+ return client.do_queue();
629
+ end
630
+
631
+ # Retrieve a metadata profile object by id
632
+ #
633
+ def get(id)
634
+ kparams = {}
635
+ client.add_param(kparams, 'id', id);
636
+ client.queue_service_action_call('metadata_metadataprofile', 'get', kparams);
637
+ if (client.is_multirequest)
638
+ return nil;
639
+ end
640
+ return client.do_queue();
641
+ end
642
+
643
+ # Update an existing metadata object
644
+ #
645
+ def update(id, metadata_profile, xsd_data=KalturaNotImplemented, views_data=KalturaNotImplemented)
646
+ kparams = {}
647
+ client.add_param(kparams, 'id', id);
648
+ client.add_param(kparams, 'metadataProfile', metadata_profile);
649
+ # XSD metadata definition
650
+ client.add_param(kparams, 'xsdData', xsd_data);
651
+ # UI views definition
652
+ client.add_param(kparams, 'viewsData', views_data);
653
+ client.queue_service_action_call('metadata_metadataprofile', 'update', kparams);
654
+ if (client.is_multirequest)
655
+ return nil;
656
+ end
657
+ return client.do_queue();
658
+ end
659
+
660
+ # List metadata profile objects by filter and pager
661
+ #
662
+ def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
663
+ kparams = {}
664
+ client.add_param(kparams, 'filter', filter);
665
+ client.add_param(kparams, 'pager', pager);
666
+ client.queue_service_action_call('metadata_metadataprofile', 'list', kparams);
667
+ if (client.is_multirequest)
668
+ return nil;
669
+ end
670
+ return client.do_queue();
671
+ end
672
+
673
+ # List metadata profile fields by metadata profile id
674
+ #
675
+ def list_fields(metadata_profile_id)
676
+ kparams = {}
677
+ client.add_param(kparams, 'metadataProfileId', metadata_profile_id);
678
+ client.queue_service_action_call('metadata_metadataprofile', 'listFields', kparams);
679
+ if (client.is_multirequest)
680
+ return nil;
681
+ end
682
+ return client.do_queue();
683
+ end
684
+
685
+ # Delete an existing metadata profile
686
+ #
687
+ def delete(id)
688
+ kparams = {}
689
+ client.add_param(kparams, 'id', id);
690
+ client.queue_service_action_call('metadata_metadataprofile', 'delete', kparams);
691
+ if (client.is_multirequest)
692
+ return nil;
693
+ end
694
+ return client.do_queue();
695
+ end
696
+
697
+ # Update an existing metadata object definition file
698
+ #
699
+ def revert(id, to_version)
700
+ kparams = {}
701
+ client.add_param(kparams, 'id', id);
702
+ client.add_param(kparams, 'toVersion', to_version);
703
+ client.queue_service_action_call('metadata_metadataprofile', 'revert', kparams);
704
+ if (client.is_multirequest)
705
+ return nil;
706
+ end
707
+ return client.do_queue();
708
+ end
709
+
710
+ # Update an existing metadata object definition file
711
+ #
712
+ def update_definition_from_file(id, xsd_file)
713
+ kparams = {}
714
+ client.add_param(kparams, 'id', id);
715
+ # XSD metadata definition
716
+ client.add_param(kparams, 'xsdFile', xsd_file);
717
+ client.queue_service_action_call('metadata_metadataprofile', 'updateDefinitionFromFile', kparams);
718
+ if (client.is_multirequest)
719
+ return nil;
720
+ end
721
+ return client.do_queue();
722
+ end
723
+
724
+ # Update an existing metadata object views file
725
+ #
726
+ def update_views_from_file(id, views_file)
727
+ kparams = {}
728
+ client.add_param(kparams, 'id', id);
729
+ # UI views file
730
+ client.add_param(kparams, 'viewsFile', views_file);
731
+ client.queue_service_action_call('metadata_metadataprofile', 'updateViewsFromFile', kparams);
732
+ if (client.is_multirequest)
733
+ return nil;
734
+ end
735
+ return client.do_queue();
736
+ end
737
+
738
+ # Update an existing metadata object xslt file
739
+ #
740
+ def update_transformation_from_file(id, xslt_file)
741
+ kparams = {}
742
+ client.add_param(kparams, 'id', id);
743
+ # XSLT file, will be executed on every metadata add/update
744
+ client.add_param(kparams, 'xsltFile', xslt_file);
745
+ client.queue_service_action_call('metadata_metadataprofile', 'updateTransformationFromFile', kparams);
746
+ if (client.is_multirequest)
747
+ return nil;
748
+ end
749
+ return client.do_queue();
750
+ end
751
+
752
+ # Serves metadata profile XSD file
753
+ #
754
+ def serve(id)
755
+ kparams = {}
756
+ client.add_param(kparams, 'id', id);
757
+ client.queue_service_action_call('metadata_metadataprofile', 'serve', kparams);
758
+ return client.get_serve_url();
759
+ end
760
+
761
+ # Serves metadata profile view file
762
+ #
763
+ def serve_view(id)
764
+ kparams = {}
765
+ client.add_param(kparams, 'id', id);
766
+ client.queue_service_action_call('metadata_metadataprofile', 'serveView', kparams);
767
+ return client.get_serve_url();
768
+ end
769
+ end
770
+
771
+ class KalturaClient < KalturaClientBase
772
+ attr_reader :metadata_service
773
+ def metadata_service
774
+ if (@metadata_service == nil)
775
+ @metadata_service = KalturaMetadataService.new(self)
776
+ end
777
+ return @metadata_service
778
+ end
779
+ attr_reader :metadata_profile_service
780
+ def metadata_profile_service
781
+ if (@metadata_profile_service == nil)
782
+ @metadata_profile_service = KalturaMetadataProfileService.new(self)
783
+ end
784
+ return @metadata_profile_service
785
+ end
786
+ end
787
+
788
+ end