kaltura-client 3.3.0 → 14.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/README +23 -23
  3. data/lib/kaltura_client.rb +2054 -1860
  4. data/lib/kaltura_client_base.rb +4 -1
  5. data/lib/kaltura_enums.rb +612 -36
  6. data/lib/kaltura_plugins/kaltura_activiti_business_process_notification_client_plugin.rb +96 -0
  7. data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +46 -17
  8. data/lib/kaltura_plugins/kaltura_admin_console_client_plugin.rb +61 -251
  9. data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +131 -60
  10. data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +62 -0
  11. data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +83 -55
  12. data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +613 -0
  13. data/lib/kaltura_plugins/kaltura_avn_distribution_client_plugin.rb +109 -0
  14. data/lib/kaltura_plugins/kaltura_bpm_event_notification_integration_client_plugin.rb +61 -0
  15. data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +17 -19
  16. data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +7 -6
  17. data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +33 -13
  18. data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +1 -2
  19. data/lib/kaltura_plugins/kaltura_business_process_notification_client_plugin.rb +545 -0
  20. data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +235 -114
  21. data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +86 -29
  22. data/lib/kaltura_plugins/kaltura_cielo24client_plugin.rb +39 -17
  23. data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +49 -18
  24. data/lib/kaltura_plugins/kaltura_comcast_mrss_distribution_client_plugin.rb +163 -0
  25. data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +846 -439
  26. data/lib/kaltura_plugins/kaltura_cross_kaltura_distribution_client_plugin.rb +232 -0
  27. data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +229 -74
  28. data/lib/kaltura_plugins/kaltura_dailymotion_distribution_client_plugin.rb +199 -0
  29. data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +140 -97
  30. data/lib/kaltura_plugins/kaltura_double_click_distribution_client_plugin.rb +142 -0
  31. data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +635 -0
  32. data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +485 -196
  33. data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +19 -1
  34. data/lib/kaltura_plugins/kaltura_elastic_search_client_plugin.rb +1228 -0
  35. data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +178 -89
  36. data/lib/kaltura_plugins/kaltura_event_cue_point_client_plugin.rb +10 -4
  37. data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +205 -95
  38. data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +43 -32
  39. data/lib/kaltura_plugins/kaltura_facebook_distribution_client_plugin.rb +183 -0
  40. data/lib/kaltura_plugins/kaltura_fairplay_client_plugin.rb +62 -0
  41. data/lib/kaltura_plugins/kaltura_feed_drop_folder_client_plugin.rb +40 -16
  42. data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +182 -67
  43. data/lib/kaltura_plugins/kaltura_freewheel_distribution_client_plugin.rb +157 -0
  44. data/lib/kaltura_plugins/kaltura_freewheel_generic_distribution_client_plugin.rb +172 -0
  45. data/lib/kaltura_plugins/kaltura_ftp_distribution_client_plugin.rb +258 -0
  46. data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +154 -102
  47. data/lib/kaltura_plugins/kaltura_hulu_distribution_client_plugin.rb +213 -0
  48. data/lib/kaltura_plugins/kaltura_idetic_distribution_client_plugin.rb +131 -0
  49. data/lib/kaltura_plugins/kaltura_integration_client_plugin.rb +19 -10
  50. data/lib/kaltura_plugins/kaltura_kaltura_internal_tools_client_plugin.rb +1 -87
  51. data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +19 -10
  52. data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +45 -25
  53. data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +435 -213
  54. data/lib/kaltura_plugins/kaltura_metro_pcs_distribution_client_plugin.rb +155 -0
  55. data/lib/kaltura_plugins/kaltura_msn_distribution_client_plugin.rb +186 -0
  56. data/lib/kaltura_plugins/kaltura_play_ready_client_plugin.rb +482 -0
  57. data/lib/kaltura_plugins/kaltura_poll_client_plugin.rb +116 -0
  58. data/lib/kaltura_plugins/kaltura_push_notification_client_plugin.rb +154 -0
  59. data/lib/kaltura_plugins/kaltura_quick_play_distribution_client_plugin.rb +187 -0
  60. data/lib/kaltura_plugins/kaltura_quiz_client_plugin.rb +155 -58
  61. data/lib/kaltura_plugins/kaltura_schedule_bulk_upload_client_plugin.rb +107 -0
  62. data/lib/kaltura_plugins/kaltura_schedule_client_plugin.rb +1580 -0
  63. data/lib/kaltura_plugins/kaltura_schedule_drop_folder_client_plugin.rb +52 -0
  64. data/lib/kaltura_plugins/kaltura_scheduled_task_client_plugin.rb +277 -71
  65. data/lib/kaltura_plugins/kaltura_scheduled_task_content_distribution_client_plugin.rb +4 -3
  66. data/lib/kaltura_plugins/kaltura_scheduled_task_event_notification_client_plugin.rb +4 -3
  67. data/lib/kaltura_plugins/kaltura_scheduled_task_metadata_client_plugin.rb +10 -7
  68. data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +113 -66
  69. data/lib/kaltura_plugins/kaltura_system_partner_client_plugin.rb +81 -517
  70. data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +63 -30
  71. data/lib/kaltura_plugins/kaltura_thumb_cue_point_client_plugin.rb +40 -16
  72. data/lib/kaltura_plugins/kaltura_transcript_client_plugin.rb +44 -8
  73. data/lib/kaltura_plugins/kaltura_unicorn_distribution_client_plugin.rb +212 -0
  74. data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +75 -74
  75. data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +10 -4
  76. data/lib/kaltura_plugins/kaltura_view_history_client_plugin.rb +112 -0
  77. data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +119 -59
  78. data/lib/kaltura_plugins/kaltura_voicebase_client_plugin.rb +34 -19
  79. data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +207 -0
  80. data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +299 -0
  81. data/lib/kaltura_plugins/kaltura_wowza_client_plugin.rb +22 -13
  82. data/lib/kaltura_plugins/kaltura_yahoo_distribution_client_plugin.rb +155 -0
  83. data/lib/kaltura_plugins/kaltura_you_tube_distribution_client_plugin.rb +382 -0
  84. data/lib/kaltura_plugins/kaltura_youtube_api_distribution_client_plugin.rb +219 -0
  85. data/lib/kaltura_types.rb +10305 -4858
  86. data/test/access_control_service_test.rb +43 -20
  87. data/test/base_entry_service_test.rb +57 -67
  88. data/test/configuration_test.rb +2 -34
  89. data/test/cue_point_service_test.rb +1 -1
  90. data/test/data_service_test.rb +19 -5
  91. data/test/document_service_test.rb +1 -1
  92. data/test/media_service_test.rb +296 -296
  93. data/test/metadata_profile_service_test.rb +1 -1
  94. metadata +52 -21
@@ -8,7 +8,7 @@
8
8
  # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
9
  # text.
10
10
  #
11
- # Copyright (C) 2006-2015 Kaltura Inc.
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
12
  #
13
13
  # This program is free software: you can redistribute it and/or modify
14
14
  # it under the terms of the GNU Affero General Public License as
@@ -71,17 +71,19 @@ module Kaltura
71
71
 
72
72
  class KalturaExternalMediaEntry < KalturaMediaEntry
73
73
  # The source type of the external media
74
- #
75
74
  attr_accessor :external_source_type
76
75
  # Comma separated asset params ids that exists for this external media entry
77
- #
78
76
  attr_accessor :asset_params_ids
79
77
 
80
78
 
81
79
  def from_xml(xml_element)
82
80
  super
83
- self.external_source_type = xml_element.elements['externalSourceType'].text
84
- self.asset_params_ids = xml_element.elements['assetParamsIds'].text
81
+ if xml_element.elements['externalSourceType'] != nil
82
+ self.external_source_type = xml_element.elements['externalSourceType'].text
83
+ end
84
+ if xml_element.elements['assetParamsIds'] != nil
85
+ self.asset_params_ids = xml_element.elements['assetParamsIds'].text
86
+ end
85
87
  end
86
88
 
87
89
  end
@@ -92,7 +94,9 @@ module Kaltura
92
94
 
93
95
  def from_xml(xml_element)
94
96
  super
95
- self.objects = KalturaClientBase.object_from_xml(xml_element.elements['objects'], 'KalturaExternalMediaEntry')
97
+ if xml_element.elements['objects'] != nil
98
+ self.objects = KalturaClientBase.object_from_xml(xml_element.elements['objects'], 'KalturaExternalMediaEntry')
99
+ end
96
100
  end
97
101
 
98
102
  end
@@ -106,10 +110,18 @@ module Kaltura
106
110
 
107
111
  def from_xml(xml_element)
108
112
  super
109
- self.external_source_type_equal = xml_element.elements['externalSourceTypeEqual'].text
110
- self.external_source_type_in = xml_element.elements['externalSourceTypeIn'].text
111
- self.asset_params_ids_match_or = xml_element.elements['assetParamsIdsMatchOr'].text
112
- self.asset_params_ids_match_and = xml_element.elements['assetParamsIdsMatchAnd'].text
113
+ if xml_element.elements['externalSourceTypeEqual'] != nil
114
+ self.external_source_type_equal = xml_element.elements['externalSourceTypeEqual'].text
115
+ end
116
+ if xml_element.elements['externalSourceTypeIn'] != nil
117
+ self.external_source_type_in = xml_element.elements['externalSourceTypeIn'].text
118
+ end
119
+ if xml_element.elements['assetParamsIdsMatchOr'] != nil
120
+ self.asset_params_ids_match_or = xml_element.elements['assetParamsIdsMatchOr'].text
121
+ end
122
+ if xml_element.elements['assetParamsIdsMatchAnd'] != nil
123
+ self.asset_params_ids_match_and = xml_element.elements['assetParamsIdsMatchAnd'].text
124
+ end
113
125
  end
114
126
 
115
127
  end
@@ -125,14 +137,13 @@ module Kaltura
125
137
 
126
138
 
127
139
  # External media service lets you upload and manage embed codes and external playable content
128
- #
129
140
  class KalturaExternalMediaService < KalturaServiceBase
130
141
  def initialize(client)
131
142
  super(client)
132
143
  end
133
144
 
134
145
  # Add external media entry
135
- #
146
+ # @return [KalturaExternalMediaEntry]
136
147
  def add(entry)
137
148
  kparams = {}
138
149
  client.add_param(kparams, 'entry', entry)
@@ -143,37 +154,36 @@ module Kaltura
143
154
  return client.do_queue()
144
155
  end
145
156
 
146
- # Get external media entry by ID.
147
- #
148
- def get(id)
157
+ # Count media entries by filter.
158
+ # @return [int]
159
+ def count(filter=KalturaNotImplemented)
149
160
  kparams = {}
150
- client.add_param(kparams, 'id', id)
151
- client.queue_service_action_call('externalmedia_externalmedia', 'get', 'KalturaExternalMediaEntry', kparams)
161
+ client.add_param(kparams, 'filter', filter)
162
+ client.queue_service_action_call('externalmedia_externalmedia', 'count', 'int', kparams)
152
163
  if (client.is_multirequest)
153
164
  return nil
154
165
  end
155
166
  return client.do_queue()
156
167
  end
157
168
 
158
- # Update external media entry. Only the properties that were set will be updated.
159
- #
160
- def update(id, entry)
169
+ # Delete a external media entry.
170
+ # @return []
171
+ def delete(id)
161
172
  kparams = {}
162
173
  client.add_param(kparams, 'id', id)
163
- client.add_param(kparams, 'entry', entry)
164
- client.queue_service_action_call('externalmedia_externalmedia', 'update', 'KalturaExternalMediaEntry', kparams)
174
+ client.queue_service_action_call('externalmedia_externalmedia', 'delete', '', kparams)
165
175
  if (client.is_multirequest)
166
176
  return nil
167
177
  end
168
178
  return client.do_queue()
169
179
  end
170
180
 
171
- # Delete a external media entry.
172
- #
173
- def delete(id)
181
+ # Get external media entry by ID.
182
+ # @return [KalturaExternalMediaEntry]
183
+ def get(id)
174
184
  kparams = {}
175
185
  client.add_param(kparams, 'id', id)
176
- client.queue_service_action_call('externalmedia_externalmedia', 'delete', '', kparams)
186
+ client.queue_service_action_call('externalmedia_externalmedia', 'get', 'KalturaExternalMediaEntry', kparams)
177
187
  if (client.is_multirequest)
178
188
  return nil
179
189
  end
@@ -181,7 +191,7 @@ module Kaltura
181
191
  end
182
192
 
183
193
  # List media entries by filter with paging support.
184
- #
194
+ # @return [KalturaExternalMediaEntryListResponse]
185
195
  def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
186
196
  kparams = {}
187
197
  client.add_param(kparams, 'filter', filter)
@@ -193,12 +203,13 @@ module Kaltura
193
203
  return client.do_queue()
194
204
  end
195
205
 
196
- # Count media entries by filter.
197
- #
198
- def count(filter=KalturaNotImplemented)
206
+ # Update external media entry. Only the properties that were set will be updated.
207
+ # @return [KalturaExternalMediaEntry]
208
+ def update(id, entry)
199
209
  kparams = {}
200
- client.add_param(kparams, 'filter', filter)
201
- client.queue_service_action_call('externalmedia_externalmedia', 'count', 'int', kparams)
210
+ client.add_param(kparams, 'id', id)
211
+ client.add_param(kparams, 'entry', entry)
212
+ client.queue_service_action_call('externalmedia_externalmedia', 'update', 'KalturaExternalMediaEntry', kparams)
202
213
  if (client.is_multirequest)
203
214
  return nil
204
215
  end
@@ -0,0 +1,183 @@
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-2019 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
+ require File.dirname(__FILE__) + '/kaltura_content_distribution_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaFacebookDistributionProfileOrderBy
34
+ CREATED_AT_ASC = "+createdAt"
35
+ UPDATED_AT_ASC = "+updatedAt"
36
+ CREATED_AT_DESC = "-createdAt"
37
+ UPDATED_AT_DESC = "-updatedAt"
38
+ end
39
+
40
+ class KalturaFacebookDistributionProviderOrderBy
41
+ end
42
+
43
+ class KalturaFacebookCaptionDistributionInfo < KalturaObjectBase
44
+ attr_accessor :language
45
+ attr_accessor :label
46
+ attr_accessor :file_path
47
+ attr_accessor :remote_id
48
+ attr_accessor :version
49
+ attr_accessor :asset_id
50
+
51
+
52
+ def from_xml(xml_element)
53
+ super
54
+ if xml_element.elements['language'] != nil
55
+ self.language = xml_element.elements['language'].text
56
+ end
57
+ if xml_element.elements['label'] != nil
58
+ self.label = xml_element.elements['label'].text
59
+ end
60
+ if xml_element.elements['filePath'] != nil
61
+ self.file_path = xml_element.elements['filePath'].text
62
+ end
63
+ if xml_element.elements['remoteId'] != nil
64
+ self.remote_id = xml_element.elements['remoteId'].text
65
+ end
66
+ if xml_element.elements['version'] != nil
67
+ self.version = xml_element.elements['version'].text
68
+ end
69
+ if xml_element.elements['assetId'] != nil
70
+ self.asset_id = xml_element.elements['assetId'].text
71
+ end
72
+ end
73
+
74
+ end
75
+
76
+ class KalturaFacebookDistributionProvider < KalturaDistributionProvider
77
+
78
+
79
+ def from_xml(xml_element)
80
+ super
81
+ end
82
+
83
+ end
84
+
85
+ class KalturaFacebookDistributionJobProviderData < KalturaConfigurableDistributionJobProviderData
86
+ attr_accessor :video_asset_file_path
87
+ attr_accessor :thumb_asset_id
88
+ attr_accessor :captions_info
89
+
90
+
91
+ def from_xml(xml_element)
92
+ super
93
+ if xml_element.elements['videoAssetFilePath'] != nil
94
+ self.video_asset_file_path = xml_element.elements['videoAssetFilePath'].text
95
+ end
96
+ if xml_element.elements['thumbAssetId'] != nil
97
+ self.thumb_asset_id = xml_element.elements['thumbAssetId'].text
98
+ end
99
+ if xml_element.elements['captionsInfo'] != nil
100
+ self.captions_info = KalturaClientBase.object_from_xml(xml_element.elements['captionsInfo'], 'KalturaFacebookCaptionDistributionInfo')
101
+ end
102
+ end
103
+
104
+ end
105
+
106
+ class KalturaFacebookDistributionProfile < KalturaConfigurableDistributionProfile
107
+ attr_accessor :api_authorize_url
108
+ attr_accessor :page_id
109
+ attr_accessor :page_access_token
110
+ attr_accessor :user_access_token
111
+ attr_accessor :state
112
+ attr_accessor :permissions
113
+ attr_accessor :re_request_permissions
114
+
115
+ def re_request_permissions=(val)
116
+ @re_request_permissions = val.to_i
117
+ end
118
+
119
+ def from_xml(xml_element)
120
+ super
121
+ if xml_element.elements['apiAuthorizeUrl'] != nil
122
+ self.api_authorize_url = xml_element.elements['apiAuthorizeUrl'].text
123
+ end
124
+ if xml_element.elements['pageId'] != nil
125
+ self.page_id = xml_element.elements['pageId'].text
126
+ end
127
+ if xml_element.elements['pageAccessToken'] != nil
128
+ self.page_access_token = xml_element.elements['pageAccessToken'].text
129
+ end
130
+ if xml_element.elements['userAccessToken'] != nil
131
+ self.user_access_token = xml_element.elements['userAccessToken'].text
132
+ end
133
+ if xml_element.elements['state'] != nil
134
+ self.state = xml_element.elements['state'].text
135
+ end
136
+ if xml_element.elements['permissions'] != nil
137
+ self.permissions = xml_element.elements['permissions'].text
138
+ end
139
+ if xml_element.elements['reRequestPermissions'] != nil
140
+ self.re_request_permissions = xml_element.elements['reRequestPermissions'].text
141
+ end
142
+ end
143
+
144
+ end
145
+
146
+ class KalturaFacebookDistributionProviderBaseFilter < KalturaDistributionProviderFilter
147
+
148
+
149
+ def from_xml(xml_element)
150
+ super
151
+ end
152
+
153
+ end
154
+
155
+ class KalturaFacebookDistributionProviderFilter < KalturaFacebookDistributionProviderBaseFilter
156
+
157
+
158
+ def from_xml(xml_element)
159
+ super
160
+ end
161
+
162
+ end
163
+
164
+ class KalturaFacebookDistributionProfileBaseFilter < KalturaConfigurableDistributionProfileFilter
165
+
166
+
167
+ def from_xml(xml_element)
168
+ super
169
+ end
170
+
171
+ end
172
+
173
+ class KalturaFacebookDistributionProfileFilter < KalturaFacebookDistributionProfileBaseFilter
174
+
175
+
176
+ def from_xml(xml_element)
177
+ super
178
+ end
179
+
180
+ end
181
+
182
+
183
+ end
@@ -0,0 +1,62 @@
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-2019 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
+ require File.dirname(__FILE__) + '/kaltura_drm_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaFairplayDrmProfile < KalturaDrmProfile
34
+ attr_accessor :public_certificate
35
+
36
+
37
+ def from_xml(xml_element)
38
+ super
39
+ if xml_element.elements['publicCertificate'] != nil
40
+ self.public_certificate = xml_element.elements['publicCertificate'].text
41
+ end
42
+ end
43
+
44
+ end
45
+
46
+ class KalturaFairplayEntryContextPluginData < KalturaPluginData
47
+ # For fairplay (and maybe in the future other drm providers) we need to return a public certificate to encrypt
48
+ # the request from the player to the server.
49
+ attr_accessor :public_certificate
50
+
51
+
52
+ def from_xml(xml_element)
53
+ super
54
+ if xml_element.elements['publicCertificate'] != nil
55
+ self.public_certificate = xml_element.elements['publicCertificate'].text
56
+ end
57
+ end
58
+
59
+ end
60
+
61
+
62
+ end
@@ -8,7 +8,7 @@
8
8
  # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
9
  # text.
10
10
  #
11
- # Copyright (C) 2006-2015 Kaltura Inc.
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
12
  #
13
13
  # This program is free software: you can redistribute it and/or modify
14
14
  # it under the terms of the GNU Affero General Public License as
@@ -44,15 +44,33 @@ module Kaltura
44
44
 
45
45
  def from_xml(xml_element)
46
46
  super
47
- self.item_xpath = xml_element.elements['itemXPath'].text
48
- self.item_publish_date_xpath = xml_element.elements['itemPublishDateXPath'].text
49
- self.item_unique_identifier_xpath = xml_element.elements['itemUniqueIdentifierXPath'].text
50
- self.item_content_file_size_xpath = xml_element.elements['itemContentFileSizeXPath'].text
51
- self.item_content_url_xpath = xml_element.elements['itemContentUrlXPath'].text
52
- self.item_content_bitrate_xpath = xml_element.elements['itemContentBitrateXPath'].text
53
- self.item_hash_xpath = xml_element.elements['itemHashXPath'].text
54
- self.item_content_xpath = xml_element.elements['itemContentXpath'].text
55
- self.content_bitrate_attribute_name = xml_element.elements['contentBitrateAttributeName'].text
47
+ if xml_element.elements['itemXPath'] != nil
48
+ self.item_xpath = xml_element.elements['itemXPath'].text
49
+ end
50
+ if xml_element.elements['itemPublishDateXPath'] != nil
51
+ self.item_publish_date_xpath = xml_element.elements['itemPublishDateXPath'].text
52
+ end
53
+ if xml_element.elements['itemUniqueIdentifierXPath'] != nil
54
+ self.item_unique_identifier_xpath = xml_element.elements['itemUniqueIdentifierXPath'].text
55
+ end
56
+ if xml_element.elements['itemContentFileSizeXPath'] != nil
57
+ self.item_content_file_size_xpath = xml_element.elements['itemContentFileSizeXPath'].text
58
+ end
59
+ if xml_element.elements['itemContentUrlXPath'] != nil
60
+ self.item_content_url_xpath = xml_element.elements['itemContentUrlXPath'].text
61
+ end
62
+ if xml_element.elements['itemContentBitrateXPath'] != nil
63
+ self.item_content_bitrate_xpath = xml_element.elements['itemContentBitrateXPath'].text
64
+ end
65
+ if xml_element.elements['itemHashXPath'] != nil
66
+ self.item_hash_xpath = xml_element.elements['itemHashXPath'].text
67
+ end
68
+ if xml_element.elements['itemContentXpath'] != nil
69
+ self.item_content_xpath = xml_element.elements['itemContentXpath'].text
70
+ end
71
+ if xml_element.elements['contentBitrateAttributeName'] != nil
72
+ self.content_bitrate_attribute_name = xml_element.elements['contentBitrateAttributeName'].text
73
+ end
56
74
  end
57
75
 
58
76
  end
@@ -67,25 +85,31 @@ module Kaltura
67
85
 
68
86
  def from_xml(xml_element)
69
87
  super
70
- self.item_handling_limit = xml_element.elements['itemHandlingLimit'].text
71
- self.feed_item_info = KalturaClientBase.object_from_xml(xml_element.elements['feedItemInfo'], 'KalturaFeedItemInfo')
88
+ if xml_element.elements['itemHandlingLimit'] != nil
89
+ self.item_handling_limit = xml_element.elements['itemHandlingLimit'].text
90
+ end
91
+ if xml_element.elements['feedItemInfo'] != nil
92
+ self.feed_item_info = KalturaClientBase.object_from_xml(xml_element.elements['feedItemInfo'], 'KalturaFeedItemInfo')
93
+ end
72
94
  end
73
95
 
74
96
  end
75
97
 
76
98
  class KalturaFeedDropFolderFile < KalturaDropFolderFile
77
99
  # MD5 or Sha1 encrypted string
78
- #
79
100
  attr_accessor :hash
80
101
  # Path of the original Feed content XML
81
- #
82
102
  attr_accessor :feed_xml_path
83
103
 
84
104
 
85
105
  def from_xml(xml_element)
86
106
  super
87
- self.hash = xml_element.elements['hash'].text
88
- self.feed_xml_path = xml_element.elements['feedXmlPath'].text
107
+ if xml_element.elements['hash'] != nil
108
+ self.hash = xml_element.elements['hash'].text
109
+ end
110
+ if xml_element.elements['feedXmlPath'] != nil
111
+ self.feed_xml_path = xml_element.elements['feedXmlPath'].text
112
+ end
89
113
  end
90
114
 
91
115
  end