kaltura-client 1.2
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.
- checksums.yaml +7 -0
- data/README +21 -0
- data/Rakefile +19 -0
- data/agpl.txt +674 -0
- data/kaltura.yml +7 -0
- data/lib/kaltura.rb +31 -0
- data/lib/kaltura_client.rb +15649 -0
- data/lib/kaltura_client_base.rb +432 -0
- data/lib/kaltura_plugins/kaltura_abc_screeners_watermark_access_control_client_plugin.rb +37 -0
- data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +110 -0
- data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +239 -0
- data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +61 -0
- data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +227 -0
- data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +349 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +116 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +55 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +58 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +40 -0
- data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +406 -0
- data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +138 -0
- data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +99 -0
- data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +1725 -0
- data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +312 -0
- data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +522 -0
- data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +401 -0
- data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +827 -0
- data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +39 -0
- data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +273 -0
- data/lib/kaltura_plugins/kaltura_event_cue_point_client_plugin.rb +67 -0
- data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +415 -0
- data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +203 -0
- data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +157 -0
- data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +309 -0
- data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +72 -0
- data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +82 -0
- data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +785 -0
- data/lib/kaltura_plugins/kaltura_multi_centers_client_plugin.rb +45 -0
- data/lib/kaltura_plugins/kaltura_play_ready_client_plugin.rb +347 -0
- data/lib/kaltura_plugins/kaltura_scheduled_task_client_plugin.rb +347 -0
- data/lib/kaltura_plugins/kaltura_scheduled_task_event_notification_client_plugin.rb +45 -0
- data/lib/kaltura_plugins/kaltura_scheduled_task_metadata_client_plugin.rb +51 -0
- data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +231 -0
- data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +145 -0
- data/lib/kaltura_plugins/kaltura_thumb_cue_point_client_plugin.rb +105 -0
- data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +238 -0
- data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +40 -0
- data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +263 -0
- data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +111 -0
- data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +195 -0
- data/test/access_control_service_test.rb +75 -0
- data/test/base_entry_service_test.rb +267 -0
- data/test/configuration_test.rb +178 -0
- data/test/cue_point_service_test.rb +67 -0
- data/test/data_service_test.rb +76 -0
- data/test/document_service_test.rb +41 -0
- data/test/media/test.mov +0 -0
- data/test/media/test.pdf +0 -0
- data/test/media/test.png +0 -0
- data/test/media/test.swf +0 -0
- data/test/media/test.wmv +0 -0
- data/test/media_service_test.rb +294 -0
- data/test/metadata_profile_service_test.rb +63 -0
- data/test/test_helper.rb +59 -0
- metadata +132 -0
@@ -0,0 +1,105 @@
|
|
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
|
+
require File.dirname(__FILE__) + '/kaltura_cue_point_client_plugin.rb'
|
30
|
+
|
31
|
+
module Kaltura
|
32
|
+
|
33
|
+
class KalturaThumbCuePointOrderBy
|
34
|
+
CREATED_AT_ASC = "+createdAt"
|
35
|
+
PARTNER_SORT_VALUE_ASC = "+partnerSortValue"
|
36
|
+
START_TIME_ASC = "+startTime"
|
37
|
+
TRIGGERED_AT_ASC = "+triggeredAt"
|
38
|
+
UPDATED_AT_ASC = "+updatedAt"
|
39
|
+
CREATED_AT_DESC = "-createdAt"
|
40
|
+
PARTNER_SORT_VALUE_DESC = "-partnerSortValue"
|
41
|
+
START_TIME_DESC = "-startTime"
|
42
|
+
TRIGGERED_AT_DESC = "-triggeredAt"
|
43
|
+
UPDATED_AT_DESC = "-updatedAt"
|
44
|
+
end
|
45
|
+
|
46
|
+
class KalturaTimedThumbAssetOrderBy
|
47
|
+
CREATED_AT_ASC = "+createdAt"
|
48
|
+
DELETED_AT_ASC = "+deletedAt"
|
49
|
+
SIZE_ASC = "+size"
|
50
|
+
UPDATED_AT_ASC = "+updatedAt"
|
51
|
+
CREATED_AT_DESC = "-createdAt"
|
52
|
+
DELETED_AT_DESC = "-deletedAt"
|
53
|
+
SIZE_DESC = "-size"
|
54
|
+
UPDATED_AT_DESC = "-updatedAt"
|
55
|
+
end
|
56
|
+
|
57
|
+
class KalturaThumbCuePoint < KalturaCuePoint
|
58
|
+
attr_accessor :asset_id
|
59
|
+
attr_accessor :description
|
60
|
+
attr_accessor :title
|
61
|
+
# The sub type of the ThumbCuePoint
|
62
|
+
#
|
63
|
+
attr_accessor :sub_type
|
64
|
+
|
65
|
+
def sub_type=(val)
|
66
|
+
@sub_type = val.to_i
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
class KalturaTimedThumbAsset < KalturaThumbAsset
|
71
|
+
# Associated thumb cue point ID
|
72
|
+
#
|
73
|
+
attr_accessor :cue_point_id
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
class KalturaThumbCuePointBaseFilter < KalturaCuePointFilter
|
78
|
+
attr_accessor :description_like
|
79
|
+
attr_accessor :description_multi_like_or
|
80
|
+
attr_accessor :description_multi_like_and
|
81
|
+
attr_accessor :title_like
|
82
|
+
attr_accessor :title_multi_like_or
|
83
|
+
attr_accessor :title_multi_like_and
|
84
|
+
attr_accessor :sub_type_equal
|
85
|
+
attr_accessor :sub_type_in
|
86
|
+
|
87
|
+
def sub_type_equal=(val)
|
88
|
+
@sub_type_equal = val.to_i
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
class KalturaThumbCuePointFilter < KalturaThumbCuePointBaseFilter
|
93
|
+
|
94
|
+
end
|
95
|
+
|
96
|
+
class KalturaTimedThumbAssetBaseFilter < KalturaThumbAssetFilter
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
class KalturaTimedThumbAssetFilter < KalturaTimedThumbAssetBaseFilter
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
end
|
@@ -0,0 +1,238 @@
|
|
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 KalturaVarPartnerUsageItem < KalturaObjectBase
|
33
|
+
# Partner ID
|
34
|
+
#
|
35
|
+
attr_accessor :partner_id
|
36
|
+
# Partner name
|
37
|
+
#
|
38
|
+
attr_accessor :partner_name
|
39
|
+
# Partner status
|
40
|
+
#
|
41
|
+
attr_accessor :partner_status
|
42
|
+
# Partner package
|
43
|
+
#
|
44
|
+
attr_accessor :partner_package
|
45
|
+
# Partner creation date (Unix timestamp)
|
46
|
+
#
|
47
|
+
attr_accessor :partner_created_at
|
48
|
+
# Number of player loads in the specific date range
|
49
|
+
#
|
50
|
+
attr_accessor :views
|
51
|
+
# Number of plays in the specific date range
|
52
|
+
#
|
53
|
+
attr_accessor :plays
|
54
|
+
# Number of new entries created during specific date range
|
55
|
+
#
|
56
|
+
attr_accessor :entries_count
|
57
|
+
# Total number of entries
|
58
|
+
#
|
59
|
+
attr_accessor :total_entries_count
|
60
|
+
# Number of new video entries created during specific date range
|
61
|
+
#
|
62
|
+
attr_accessor :video_entries_count
|
63
|
+
# Number of new image entries created during specific date range
|
64
|
+
#
|
65
|
+
attr_accessor :image_entries_count
|
66
|
+
# Number of new audio entries created during specific date range
|
67
|
+
#
|
68
|
+
attr_accessor :audio_entries_count
|
69
|
+
# Number of new mix entries created during specific date range
|
70
|
+
#
|
71
|
+
attr_accessor :mix_entries_count
|
72
|
+
# The total bandwidth usage during the given date range (in MB)
|
73
|
+
#
|
74
|
+
attr_accessor :bandwidth
|
75
|
+
# The total storage consumption (in MB)
|
76
|
+
#
|
77
|
+
attr_accessor :total_storage
|
78
|
+
# The added storage consumption (new uploads) during the given date range (in MB)
|
79
|
+
#
|
80
|
+
attr_accessor :storage
|
81
|
+
# The deleted storage consumption (new uploads) during the given date range (in MB)
|
82
|
+
#
|
83
|
+
attr_accessor :deleted_storage
|
84
|
+
# The peak amount of storage consumption during the given date range for the specific publisher
|
85
|
+
#
|
86
|
+
attr_accessor :peak_storage
|
87
|
+
# The average amount of storage consumption during the given date range for the specific publisher
|
88
|
+
#
|
89
|
+
attr_accessor :avg_storage
|
90
|
+
# The combined amount of bandwidth and storage consumed during the given date range for the specific publisher
|
91
|
+
#
|
92
|
+
attr_accessor :combined_storage_bandwidth
|
93
|
+
# Amount of transcoding usage in MB
|
94
|
+
#
|
95
|
+
attr_accessor :transcoding_usage
|
96
|
+
# TGhe date at which the report was taken - Unix Timestamp
|
97
|
+
#
|
98
|
+
attr_accessor :date_id
|
99
|
+
|
100
|
+
def partner_id=(val)
|
101
|
+
@partner_id = val.to_i
|
102
|
+
end
|
103
|
+
def partner_status=(val)
|
104
|
+
@partner_status = val.to_i
|
105
|
+
end
|
106
|
+
def partner_package=(val)
|
107
|
+
@partner_package = val.to_i
|
108
|
+
end
|
109
|
+
def partner_created_at=(val)
|
110
|
+
@partner_created_at = val.to_i
|
111
|
+
end
|
112
|
+
def views=(val)
|
113
|
+
@views = val.to_i
|
114
|
+
end
|
115
|
+
def plays=(val)
|
116
|
+
@plays = val.to_i
|
117
|
+
end
|
118
|
+
def entries_count=(val)
|
119
|
+
@entries_count = val.to_i
|
120
|
+
end
|
121
|
+
def total_entries_count=(val)
|
122
|
+
@total_entries_count = val.to_i
|
123
|
+
end
|
124
|
+
def video_entries_count=(val)
|
125
|
+
@video_entries_count = val.to_i
|
126
|
+
end
|
127
|
+
def image_entries_count=(val)
|
128
|
+
@image_entries_count = val.to_i
|
129
|
+
end
|
130
|
+
def audio_entries_count=(val)
|
131
|
+
@audio_entries_count = val.to_i
|
132
|
+
end
|
133
|
+
def mix_entries_count=(val)
|
134
|
+
@mix_entries_count = val.to_i
|
135
|
+
end
|
136
|
+
def bandwidth=(val)
|
137
|
+
@bandwidth = val.to_f
|
138
|
+
end
|
139
|
+
def total_storage=(val)
|
140
|
+
@total_storage = val.to_f
|
141
|
+
end
|
142
|
+
def storage=(val)
|
143
|
+
@storage = val.to_f
|
144
|
+
end
|
145
|
+
def deleted_storage=(val)
|
146
|
+
@deleted_storage = val.to_f
|
147
|
+
end
|
148
|
+
def peak_storage=(val)
|
149
|
+
@peak_storage = val.to_f
|
150
|
+
end
|
151
|
+
def avg_storage=(val)
|
152
|
+
@avg_storage = val.to_f
|
153
|
+
end
|
154
|
+
def combined_storage_bandwidth=(val)
|
155
|
+
@combined_storage_bandwidth = val.to_f
|
156
|
+
end
|
157
|
+
def transcoding_usage=(val)
|
158
|
+
@transcoding_usage = val.to_f
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
class KalturaPartnerUsageListResponse < KalturaObjectBase
|
163
|
+
attr_accessor :total
|
164
|
+
attr_accessor :objects
|
165
|
+
attr_accessor :total_count
|
166
|
+
|
167
|
+
def total_count=(val)
|
168
|
+
@total_count = val.to_i
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
class KalturaVarPartnerUsageTotalItem < KalturaVarPartnerUsageItem
|
173
|
+
|
174
|
+
end
|
175
|
+
|
176
|
+
class KalturaVarConsolePartnerFilter < KalturaPartnerFilter
|
177
|
+
# Eq filter for the partner's group type
|
178
|
+
#
|
179
|
+
attr_accessor :group_type_eq
|
180
|
+
# In filter for the partner's group type
|
181
|
+
#
|
182
|
+
attr_accessor :group_type_in
|
183
|
+
# Filter for partner permissions- filter contains comma-separated string of permission names which the returned partners should have.
|
184
|
+
#
|
185
|
+
attr_accessor :partner_permissions_exist
|
186
|
+
|
187
|
+
def group_type_eq=(val)
|
188
|
+
@group_type_eq = val.to_i
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
|
193
|
+
# Utility service for the Multi-publishers console
|
194
|
+
#
|
195
|
+
class KalturaVarConsoleService < KalturaServiceBase
|
196
|
+
def initialize(client)
|
197
|
+
super(client)
|
198
|
+
end
|
199
|
+
|
200
|
+
# Function which calulates partner usage of a group of a VAR's sub-publishers
|
201
|
+
#
|
202
|
+
def get_partner_usage(partner_filter=KalturaNotImplemented, usage_filter=KalturaNotImplemented, pager=KalturaNotImplemented)
|
203
|
+
kparams = {}
|
204
|
+
client.add_param(kparams, 'partnerFilter', partner_filter);
|
205
|
+
client.add_param(kparams, 'usageFilter', usage_filter);
|
206
|
+
client.add_param(kparams, 'pager', pager);
|
207
|
+
client.queue_service_action_call('varconsole_varconsole', 'getPartnerUsage', kparams);
|
208
|
+
if (client.is_multirequest)
|
209
|
+
return nil;
|
210
|
+
end
|
211
|
+
return client.do_queue();
|
212
|
+
end
|
213
|
+
|
214
|
+
# Function to change a sub-publisher's status
|
215
|
+
#
|
216
|
+
def update_status(id, status)
|
217
|
+
kparams = {}
|
218
|
+
client.add_param(kparams, 'id', id);
|
219
|
+
client.add_param(kparams, 'status', status);
|
220
|
+
client.queue_service_action_call('varconsole_varconsole', 'updateStatus', kparams);
|
221
|
+
if (client.is_multirequest)
|
222
|
+
return nil;
|
223
|
+
end
|
224
|
+
return client.do_queue();
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
class KalturaClient < KalturaClientBase
|
229
|
+
attr_reader :var_console_service
|
230
|
+
def var_console_service
|
231
|
+
if (@var_console_service == nil)
|
232
|
+
@var_console_service = KalturaVarConsoleService.new(self)
|
233
|
+
end
|
234
|
+
return @var_console_service
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
end
|
@@ -0,0 +1,40 @@
|
|
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 KalturaVelocixProvisionJobData < KalturaProvisionJobData
|
33
|
+
attr_accessor :provisioning_params
|
34
|
+
attr_accessor :user_name
|
35
|
+
attr_accessor :password
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,263 @@
|
|
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 KalturaVirusFoundAction
|
33
|
+
NONE = 0
|
34
|
+
DELETE = 1
|
35
|
+
CLEAN_NONE = 2
|
36
|
+
CLEAN_DELETE = 3
|
37
|
+
end
|
38
|
+
|
39
|
+
class KalturaVirusScanJobResult
|
40
|
+
SCAN_ERROR = 1
|
41
|
+
FILE_IS_CLEAN = 2
|
42
|
+
FILE_WAS_CLEANED = 3
|
43
|
+
FILE_INFECTED = 4
|
44
|
+
end
|
45
|
+
|
46
|
+
class KalturaVirusScanProfileStatus
|
47
|
+
DISABLED = 1
|
48
|
+
ENABLED = 2
|
49
|
+
DELETED = 3
|
50
|
+
end
|
51
|
+
|
52
|
+
class KalturaVirusScanEngineType
|
53
|
+
CLAMAV_SCAN_ENGINE = "clamAVScanEngine.ClamAV"
|
54
|
+
SYMANTEC_SCAN_DIRECT_ENGINE = "symantecScanEngine.SymantecScanDirectEngine"
|
55
|
+
SYMANTEC_SCAN_ENGINE = "symantecScanEngine.SymantecScanEngine"
|
56
|
+
SYMANTEC_SCAN_JAVA_ENGINE = "symantecScanEngine.SymantecScanJavaEngine"
|
57
|
+
end
|
58
|
+
|
59
|
+
class KalturaVirusScanProfileOrderBy
|
60
|
+
CREATED_AT_ASC = "+createdAt"
|
61
|
+
UPDATED_AT_ASC = "+updatedAt"
|
62
|
+
CREATED_AT_DESC = "-createdAt"
|
63
|
+
UPDATED_AT_DESC = "-updatedAt"
|
64
|
+
end
|
65
|
+
|
66
|
+
class KalturaVirusScanProfile < KalturaObjectBase
|
67
|
+
attr_accessor :id
|
68
|
+
attr_accessor :created_at
|
69
|
+
attr_accessor :updated_at
|
70
|
+
attr_accessor :partner_id
|
71
|
+
attr_accessor :name
|
72
|
+
attr_accessor :status
|
73
|
+
attr_accessor :engine_type
|
74
|
+
attr_accessor :entry_filter
|
75
|
+
attr_accessor :action_if_infected
|
76
|
+
|
77
|
+
def id=(val)
|
78
|
+
@id = val.to_i
|
79
|
+
end
|
80
|
+
def created_at=(val)
|
81
|
+
@created_at = val.to_i
|
82
|
+
end
|
83
|
+
def updated_at=(val)
|
84
|
+
@updated_at = val.to_i
|
85
|
+
end
|
86
|
+
def partner_id=(val)
|
87
|
+
@partner_id = val.to_i
|
88
|
+
end
|
89
|
+
def status=(val)
|
90
|
+
@status = val.to_i
|
91
|
+
end
|
92
|
+
def action_if_infected=(val)
|
93
|
+
@action_if_infected = val.to_i
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
class KalturaVirusScanProfileListResponse < KalturaObjectBase
|
98
|
+
attr_accessor :objects
|
99
|
+
attr_accessor :total_count
|
100
|
+
|
101
|
+
def total_count=(val)
|
102
|
+
@total_count = val.to_i
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
class KalturaParseCaptionAssetJobData < KalturaJobData
|
107
|
+
attr_accessor :caption_asset_id
|
108
|
+
|
109
|
+
end
|
110
|
+
|
111
|
+
class KalturaVirusScanJobData < KalturaJobData
|
112
|
+
attr_accessor :src_file_path
|
113
|
+
attr_accessor :flavor_asset_id
|
114
|
+
attr_accessor :scan_result
|
115
|
+
attr_accessor :virus_found_action
|
116
|
+
|
117
|
+
def scan_result=(val)
|
118
|
+
@scan_result = val.to_i
|
119
|
+
end
|
120
|
+
def virus_found_action=(val)
|
121
|
+
@virus_found_action = val.to_i
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
class KalturaVirusScanProfileBaseFilter < KalturaFilter
|
126
|
+
attr_accessor :id_equal
|
127
|
+
attr_accessor :id_in
|
128
|
+
attr_accessor :created_at_greater_than_or_equal
|
129
|
+
attr_accessor :created_at_less_than_or_equal
|
130
|
+
attr_accessor :updated_at_greater_than_or_equal
|
131
|
+
attr_accessor :updated_at_less_than_or_equal
|
132
|
+
attr_accessor :partner_id_equal
|
133
|
+
attr_accessor :partner_id_in
|
134
|
+
attr_accessor :name_equal
|
135
|
+
attr_accessor :name_like
|
136
|
+
attr_accessor :status_equal
|
137
|
+
attr_accessor :status_in
|
138
|
+
attr_accessor :engine_type_equal
|
139
|
+
attr_accessor :engine_type_in
|
140
|
+
|
141
|
+
def id_equal=(val)
|
142
|
+
@id_equal = val.to_i
|
143
|
+
end
|
144
|
+
def created_at_greater_than_or_equal=(val)
|
145
|
+
@created_at_greater_than_or_equal = val.to_i
|
146
|
+
end
|
147
|
+
def created_at_less_than_or_equal=(val)
|
148
|
+
@created_at_less_than_or_equal = val.to_i
|
149
|
+
end
|
150
|
+
def updated_at_greater_than_or_equal=(val)
|
151
|
+
@updated_at_greater_than_or_equal = val.to_i
|
152
|
+
end
|
153
|
+
def updated_at_less_than_or_equal=(val)
|
154
|
+
@updated_at_less_than_or_equal = val.to_i
|
155
|
+
end
|
156
|
+
def partner_id_equal=(val)
|
157
|
+
@partner_id_equal = val.to_i
|
158
|
+
end
|
159
|
+
def status_equal=(val)
|
160
|
+
@status_equal = val.to_i
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
class KalturaVirusScanProfileFilter < KalturaVirusScanProfileBaseFilter
|
165
|
+
|
166
|
+
end
|
167
|
+
|
168
|
+
|
169
|
+
# Virus scan profile service
|
170
|
+
#
|
171
|
+
class KalturaVirusScanProfileService < KalturaServiceBase
|
172
|
+
def initialize(client)
|
173
|
+
super(client)
|
174
|
+
end
|
175
|
+
|
176
|
+
# List virus scan profile objects by filter and pager
|
177
|
+
#
|
178
|
+
def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
|
179
|
+
kparams = {}
|
180
|
+
client.add_param(kparams, 'filter', filter);
|
181
|
+
client.add_param(kparams, 'pager', pager);
|
182
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'list', kparams);
|
183
|
+
if (client.is_multirequest)
|
184
|
+
return nil;
|
185
|
+
end
|
186
|
+
return client.do_queue();
|
187
|
+
end
|
188
|
+
|
189
|
+
# Allows you to add an virus scan profile object and virus scan profile content associated with Kaltura object
|
190
|
+
#
|
191
|
+
def add(virus_scan_profile)
|
192
|
+
kparams = {}
|
193
|
+
client.add_param(kparams, 'virusScanProfile', virus_scan_profile);
|
194
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'add', kparams);
|
195
|
+
if (client.is_multirequest)
|
196
|
+
return nil;
|
197
|
+
end
|
198
|
+
return client.do_queue();
|
199
|
+
end
|
200
|
+
|
201
|
+
# Retrieve an virus scan profile object by id
|
202
|
+
#
|
203
|
+
def get(virus_scan_profile_id)
|
204
|
+
kparams = {}
|
205
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
206
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'get', kparams);
|
207
|
+
if (client.is_multirequest)
|
208
|
+
return nil;
|
209
|
+
end
|
210
|
+
return client.do_queue();
|
211
|
+
end
|
212
|
+
|
213
|
+
# Update exisitng virus scan profile, it is possible to update the virus scan profile id too
|
214
|
+
#
|
215
|
+
def update(virus_scan_profile_id, virus_scan_profile)
|
216
|
+
kparams = {}
|
217
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
218
|
+
# Id
|
219
|
+
client.add_param(kparams, 'virusScanProfile', virus_scan_profile);
|
220
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'update', kparams);
|
221
|
+
if (client.is_multirequest)
|
222
|
+
return nil;
|
223
|
+
end
|
224
|
+
return client.do_queue();
|
225
|
+
end
|
226
|
+
|
227
|
+
# Mark the virus scan profile as deleted
|
228
|
+
#
|
229
|
+
def delete(virus_scan_profile_id)
|
230
|
+
kparams = {}
|
231
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
232
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'delete', kparams);
|
233
|
+
if (client.is_multirequest)
|
234
|
+
return nil;
|
235
|
+
end
|
236
|
+
return client.do_queue();
|
237
|
+
end
|
238
|
+
|
239
|
+
# Scan flavor asset according to virus scan profile
|
240
|
+
#
|
241
|
+
def scan(flavor_asset_id, virus_scan_profile_id=KalturaNotImplemented)
|
242
|
+
kparams = {}
|
243
|
+
client.add_param(kparams, 'flavorAssetId', flavor_asset_id);
|
244
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
245
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'scan', kparams);
|
246
|
+
if (client.is_multirequest)
|
247
|
+
return nil;
|
248
|
+
end
|
249
|
+
return client.do_queue();
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
class KalturaClient < KalturaClientBase
|
254
|
+
attr_reader :virus_scan_profile_service
|
255
|
+
def virus_scan_profile_service
|
256
|
+
if (@virus_scan_profile_service == nil)
|
257
|
+
@virus_scan_profile_service = KalturaVirusScanProfileService.new(self)
|
258
|
+
end
|
259
|
+
return @virus_scan_profile_service
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
end
|