goncalossilva_kaltura-ruby 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/.document +5 -0
  2. data/.gitignore +7 -0
  3. data/LICENSE +661 -0
  4. data/README.markdown +56 -0
  5. data/README.rdoc +54 -0
  6. data/Rakefile +61 -0
  7. data/VERSION +1 -0
  8. data/VERSION.yml +5 -0
  9. data/goncalossilva_kaltura-ruby.gemspec +179 -0
  10. data/lib/kaltura.rb +19 -0
  11. data/lib/kaltura/constants.rb +77 -0
  12. data/lib/kaltura/constants/access_control_order_by.rb +14 -0
  13. data/lib/kaltura/constants/audio_codec.rb +16 -0
  14. data/lib/kaltura/constants/base.rb +61 -0
  15. data/lib/kaltura/constants/batch_job.rb +87 -0
  16. data/lib/kaltura/constants/bit_rate_mode.rb +14 -0
  17. data/lib/kaltura/constants/category_order_by.rb +18 -0
  18. data/lib/kaltura/constants/commercial_use_type.rb +14 -0
  19. data/lib/kaltura/constants/container_format.rb +21 -0
  20. data/lib/kaltura/constants/control_panel_command.rb +49 -0
  21. data/lib/kaltura/constants/conversion_profile_order_by.rb +14 -0
  22. data/lib/kaltura/constants/country_restriction_type.rb +16 -0
  23. data/lib/kaltura/constants/data_entry_order_by.rb +20 -0
  24. data/lib/kaltura/constants/directory_restriction_type.rb +14 -0
  25. data/lib/kaltura/constants/document.rb +39 -0
  26. data/lib/kaltura/constants/duration_type.rb +16 -0
  27. data/lib/kaltura/constants/editor_type.rb +14 -0
  28. data/lib/kaltura/constants/email_ingestion_profile_status.rb +14 -0
  29. data/lib/kaltura/constants/entry.rb +59 -0
  30. data/lib/kaltura/constants/file_sync.rb +67 -0
  31. data/lib/kaltura/constants/flavor_asset_status.rb +18 -0
  32. data/lib/kaltura/constants/gender.rb +15 -0
  33. data/lib/kaltura/constants/google_syndication_feed.rb +39 -0
  34. data/lib/kaltura/constants/i_tunes_syndication_feed.rb +42 -0
  35. data/lib/kaltura/constants/i_tunes_syndication_feed/categories.rb +82 -0
  36. data/lib/kaltura/constants/license_type.rb +29 -0
  37. data/lib/kaltura/constants/live_stream_admin_entry_order_by.rb +31 -0
  38. data/lib/kaltura/constants/mail_job_order_by.rb +16 -0
  39. data/lib/kaltura/constants/media.rb +55 -0
  40. data/lib/kaltura/constants/mix_entry_order_by.rb +28 -0
  41. data/lib/kaltura/constants/moderation.rb +34 -0
  42. data/lib/kaltura/constants/notification.rb +43 -0
  43. data/lib/kaltura/constants/nullable_boolean.rb +14 -0
  44. data/lib/kaltura/constants/partner.rb +64 -0
  45. data/lib/kaltura/constants/playable_entry_order_by.rb +28 -0
  46. data/lib/kaltura/constants/playlist.rb +35 -0
  47. data/lib/kaltura/constants/report_type.rb +24 -0
  48. data/lib/kaltura/constants/search_provider_type.rb +29 -0
  49. data/lib/kaltura/constants/session_type.rb +14 -0
  50. data/lib/kaltura/constants/site_restriction_type.rb +14 -0
  51. data/lib/kaltura/constants/source_type.rb +17 -0
  52. data/lib/kaltura/constants/stats.rb +49 -0
  53. data/lib/kaltura/constants/stats/kmc_event_type.rb +77 -0
  54. data/lib/kaltura/constants/syndication_feed.rb +37 -0
  55. data/lib/kaltura/constants/system_user.rb +17 -0
  56. data/lib/kaltura/constants/tube_mogul_syndication_feed.rb +34 -0
  57. data/lib/kaltura/constants/ui_conf.rb +26 -0
  58. data/lib/kaltura/constants/upload_error_code.rb +9 -0
  59. data/lib/kaltura/constants/user.rb +16 -0
  60. data/lib/kaltura/constants/video_codec.rb +16 -0
  61. data/lib/kaltura/constants/widget.rb +15 -0
  62. data/lib/kaltura/constants/yahoo_syndication_feed.rb +44 -0
  63. data/lib/kaltura/filter.rb +75 -0
  64. data/lib/kaltura/filter/access_control_filter.rb +20 -0
  65. data/lib/kaltura/filter/base_entry_filter.rb +115 -0
  66. data/lib/kaltura/filter/base_filter.rb +7 -0
  67. data/lib/kaltura/filter/base_job_filter.rb +28 -0
  68. data/lib/kaltura/filter/batch_job_filter.rb +54 -0
  69. data/lib/kaltura/filter/category_filter.rb +23 -0
  70. data/lib/kaltura/filter/control_panel_command_filter.rb +39 -0
  71. data/lib/kaltura/filter/conversion_profile_filter.rb +12 -0
  72. data/lib/kaltura/filter/document_entry_filter.rb +12 -0
  73. data/lib/kaltura/filter/file_sync_filter.rb +93 -0
  74. data/lib/kaltura/filter/flavor_params_filter.rb +11 -0
  75. data/lib/kaltura/filter/flavor_params_output_filter.rb +14 -0
  76. data/lib/kaltura/filter/media_entry_filter.rb +22 -0
  77. data/lib/kaltura/filter/media_entry_filter_for_playlist.rb +11 -0
  78. data/lib/kaltura/filter/partner_filter.rb +22 -0
  79. data/lib/kaltura/filter/playable_entry_filter.rb +40 -0
  80. data/lib/kaltura/filter/report_input_filter.rb +25 -0
  81. data/lib/kaltura/filter/system_partner_usage_filter.rb +15 -0
  82. data/lib/kaltura/filter/ui_conf_filter.rb +40 -0
  83. data/lib/kaltura/filter/user_filter.rb +27 -0
  84. data/lib/kaltura/filter/widget_filter.rb +37 -0
  85. data/lib/kaltura/kaltura_client.rb +1762 -0
  86. data/lib/kaltura/kaltura_client_base.rb +300 -0
  87. data/lib/kaltura/response.rb +112 -0
  88. data/lib/kaltura/service.rb +142 -0
  89. data/lib/kaltura/service/access_control_service.rb +110 -0
  90. data/lib/kaltura/service/admin_user_service.rb +69 -0
  91. data/lib/kaltura/service/base_entry_service.rb +331 -0
  92. data/lib/kaltura/service/base_service.rb +42 -0
  93. data/lib/kaltura/service/bulk_upload_service.rb +75 -0
  94. data/lib/kaltura/service/category_service.rb +112 -0
  95. data/lib/kaltura/service/conversion_profile_service.rb +116 -0
  96. data/lib/kaltura/service/data_service.rb +116 -0
  97. data/lib/kaltura/service/email_ingestion_profile_service.rb +122 -0
  98. data/lib/kaltura/service/flavor_asset_service.rb +155 -0
  99. data/lib/kaltura/service/flavor_params_service.rb +111 -0
  100. data/lib/kaltura/service/live_stream_service.rb +140 -0
  101. data/lib/kaltura/service/media_service.rb +546 -0
  102. data/lib/kaltura/service/mixing_service.rb +86 -0
  103. data/lib/kaltura/service/notification_service.rb +13 -0
  104. data/lib/kaltura/service/partner_service.rb +41 -0
  105. data/lib/kaltura/service/playlist_service.rb +73 -0
  106. data/lib/kaltura/service/report_service.rb +47 -0
  107. data/lib/kaltura/service/search_service.rb +34 -0
  108. data/lib/kaltura/service/session_service.rb +24 -0
  109. data/lib/kaltura/service/stats_service.rb +24 -0
  110. data/lib/kaltura/service/syndication_feed_service.rb +50 -0
  111. data/lib/kaltura/service/system_partner_service.rb +58 -0
  112. data/lib/kaltura/service/system_service.rb +11 -0
  113. data/lib/kaltura/service/system_user_service.rb +63 -0
  114. data/lib/kaltura/service/ui_conf_service.rb +51 -0
  115. data/lib/kaltura/service/upload_service.rb +18 -0
  116. data/lib/kaltura/service/user_service.rb +44 -0
  117. data/lib/kaltura/service/widget_service.rb +38 -0
  118. data/lib/kaltura/service/x_internal_service.rb +13 -0
  119. data/test/kaltura-ruby_test.rb +7 -0
  120. data/test/test.rb +23 -0
  121. data/test/test_2.rb +26 -0
  122. data/test/test_error.rb +14 -0
  123. data/test/test_helper.rb +10 -0
  124. metadata +222 -0
@@ -0,0 +1,300 @@
1
+ module Kaltura
2
+ class ClientBase
3
+ attr_accessor :config
4
+ attr_accessor :ks
5
+ attr_reader :is_multirequest
6
+
7
+ def initialize(config)
8
+ @should_log = false
9
+ @config = config
10
+ @calls_queue = []
11
+
12
+ if @config.logger != nil
13
+ @should_log = true
14
+ end
15
+ end
16
+
17
+ def queue_service_action_call(service, action, params = {})
18
+ # in start session partner id is optional (default -1). if partner id was not set, use the one in the config
19
+ if (!params.key?('partnerId') || params['partnerId'] == -1)
20
+ params['partnerId'] = config.partner_id;
21
+ end
22
+
23
+ add_param(params, 'ks', @ks);
24
+
25
+ call = ServiceActionCall.new(service, action, params);
26
+ @calls_queue.push(call);
27
+ end
28
+
29
+ def do_queue()
30
+ start_time = Time.now
31
+
32
+ if @calls_queue.length == 0
33
+ @is_multirequest = false
34
+ return nil
35
+ end
36
+
37
+ log('service url: [' + @config.service_url + ']')
38
+ # append the basic params
39
+ params = {}
40
+ add_param(params, "format", @config.format)
41
+ add_param(params, "clientTag", @config.client_tag)
42
+
43
+ url = @config.service_url+"/api_v3/index.php?service="
44
+ if (@is_multirequest)
45
+ url += "multirequest"
46
+ i = 1
47
+ @calls_queue.each_value do |call|
48
+ call_params = call.get_params_for_multirequest(i.next)
49
+ params.merge!(call_params)
50
+ end
51
+ else
52
+ call = @calls_queue[0]
53
+ url += call.service + "&action=" + call.action
54
+ params.merge!(call.params)
55
+ end
56
+
57
+ # reset
58
+ @calls_queue = []
59
+ @is_multirequest = false
60
+
61
+ signature = signature(params)
62
+ add_param(params, "kalsig", signature)
63
+
64
+ log("url: " + url)
65
+ log("params: " + params.to_yaml)
66
+ result = do_http_request(url, params)
67
+
68
+ result_object = parse_to_objects(result.body)
69
+
70
+ log("result (object yaml dump): " + result_object.to_yaml)
71
+
72
+ end_time = Time.now
73
+ log("execution time for [#{url}]: [#{end_time - start_time}]")
74
+
75
+ return result_object
76
+ end
77
+
78
+ def do_http_request(url, params)
79
+ res = RestClient.post url , params
80
+ return res
81
+ end
82
+
83
+ def parse_to_objects(data)
84
+ parse_xml_to_objects(data)
85
+ end
86
+
87
+ def parse_xml_to_objects(xml)
88
+ doc = REXML::Document.new(xml)
89
+ raise_exception_if_error(doc)
90
+ doc.elements.each('xml/result') do | element |
91
+ return ClassFactory.object_from_xml(element)
92
+ end
93
+ end
94
+
95
+ def raise_exception_if_error(doc)
96
+ if is_error(doc)
97
+ code = doc.elements["xml/result/error/code"].text
98
+ message = doc.elements["xml/result/error/message"].text
99
+ raise APIError.new(code,message)
100
+ end
101
+ end
102
+
103
+ def is_error(doc)
104
+ doc.elements["xml/result/error/message"] && doc.elements["xml/result/error/code"]
105
+ end
106
+
107
+ def start_multirequest()
108
+ @is_multirequest = true
109
+ end
110
+
111
+ def do_multirequest()
112
+ return do_queue()
113
+ end
114
+
115
+ def signature(params)
116
+ str = params.keys.map {|key| key.to_s }.sort.map {|key|
117
+ "#{escape(key)}#{escape(params[key])}"
118
+ }.join("")
119
+
120
+ Digest::MD5.hexdigest(str)
121
+ end
122
+
123
+ def add_param(params, name, value)
124
+ if value == nil
125
+ return
126
+ elsif value.is_a? Hash
127
+ value.each do |sub_name, sub_value|
128
+ add_param(params, "#{name}:#{sub_name}", sub_value);
129
+ end
130
+ elsif value.is_a? ObjectBase
131
+ add_param(params, name, value.to_params)
132
+ else
133
+ params[name] = value
134
+ end
135
+ end
136
+
137
+ # Escapes a query parameter. Stolen from RFuzz
138
+ def escape(s)
139
+ s.to_s.gsub(/([^ a-zA-Z0-9_.-]+)/n) {
140
+ '%' + $1.unpack('H2'*$1.size).join('%').upcase
141
+ }.tr(' ', '+')
142
+ end
143
+
144
+ def log(msg)
145
+ if @should_log
146
+ config.logger.log(msg)
147
+ end
148
+ end
149
+ end
150
+
151
+ class ServiceActionCall
152
+ attr_accessor :service
153
+ attr_accessor :action
154
+ attr_accessor :params
155
+
156
+ def initialize(service, action, params = array())
157
+ @service = service
158
+ @action = action
159
+ @params = parse_params(params)
160
+ end
161
+
162
+ def parse_params(params)
163
+ new_params = {}
164
+ params.each do |key, val|
165
+ if val.kind_of? Hash
166
+ new_params[key] = parse_params(val)
167
+ else
168
+ new_params[key] = val
169
+ end
170
+ end
171
+ return new_params
172
+ end
173
+
174
+ def get_params_for_multirequest(multirequest_index)
175
+ multirequest_params = {}
176
+ multirequest_params[multirequest_index+":service"] = @service
177
+ multirequest_params[multirequest_index+":action"] = @action
178
+ @params.each do |key|
179
+ multirequest_params[multirequest_index+":"+key] = @params[key]
180
+ end
181
+ return multirequest_params
182
+ end
183
+ end
184
+
185
+ class ObjectBase
186
+ attr_accessor :object_type
187
+
188
+ def to_params
189
+ params = {};
190
+ params["objectType"] = self.class.name.split('::').last
191
+ instance_variables.each do |var|
192
+ value = instance_variable_get(var)
193
+ var = var.to_s.sub('@', '')
194
+ kvar = camelcase(var)
195
+ if (value != nil)
196
+ if (value.is_a? ObjectBase)
197
+ params[kvar] = value.to_params;
198
+ else
199
+ params[kvar] = value;
200
+ end
201
+ end
202
+ end
203
+ return params;
204
+ end
205
+
206
+ def to_b(val)
207
+ return [true, 'true', 1, '1'].include?(val.is_a?(String) ? val.downcase : val)
208
+ end
209
+
210
+ def camelcase(val)
211
+ val = val.split('_').map { |e| e.capitalize }.join()
212
+ val[0,1].downcase + val[1,val.length]
213
+ end
214
+ end
215
+
216
+ class Configuration
217
+ attr_accessor :logger
218
+ attr_accessor :service_url
219
+ attr_accessor :format
220
+ attr_accessor :client_tag
221
+ attr_accessor :timeout
222
+ attr_accessor :partner_id
223
+
224
+ def initialize(partner_id = -1)
225
+ @service_url = "http://www.kaltura.com"
226
+ @format = 2 # xml
227
+ @client_tag = "ruby"
228
+ @timeout = 10
229
+ @partner_id = partner_id
230
+ end
231
+
232
+ def service_url=(url)
233
+ @service_url = url.chomp('/')
234
+ end
235
+ end
236
+
237
+ class ClassFactory
238
+ def self.object_from_xml(xml_element)
239
+ instance = nil
240
+ if xml_element.elements.size > 0
241
+ if xml_element.elements[1].name == 'item' # array
242
+ instance = []
243
+ xml_element.elements.each('item') do | element |
244
+ instance.push(ClassFactory.object_from_xml(element))
245
+ end
246
+ else # object
247
+ object_type_element = xml_element.get_text('objectType')
248
+ if (object_type_element != nil)
249
+ object_class = xml_element.get_text('objectType').value
250
+ instance = ClassFactory.set_instance(object_class)
251
+ xml_element.elements.each do | element |
252
+ value = ClassFactory.object_from_xml(element)
253
+ instance.send(self.underscore(element.name) + "=", value);
254
+ end
255
+ end
256
+ end
257
+ else # simple type
258
+ return xml_element.text
259
+ end
260
+
261
+ return instance;
262
+ end
263
+
264
+ def self.underscore(val)
265
+ val.gsub(/(.)([A-Z])/,'\1_\2').downcase
266
+ end
267
+
268
+ def self.set_instance(object_request_class)
269
+ string_object_class = object_request_class.to_s
270
+ instance = nil
271
+ stripped_request = ClassFactory.strip_kaltura_from_request(string_object_class)
272
+ instance = Module.const_get("Kaltura")
273
+ unless ClassFactory.request_is_response?(string_object_class)
274
+ instance = instance.const_get("Response").const_get(stripped_request).new
275
+ else
276
+ instance = instance.const_get(stripped_request).new
277
+ end
278
+ instance
279
+ end
280
+
281
+ def self.strip_kaltura_from_request(request)
282
+ request.gsub("Kaltura","")
283
+ end
284
+ def self.request_is_response?(request)
285
+ request_array = []
286
+ request_array << request
287
+ request_array == request.split("Response",0)
288
+ end
289
+ end
290
+
291
+ class APIError < RuntimeError
292
+ attr_reader :code
293
+ attr_reader :message
294
+
295
+ def initialize(code,message)
296
+ @code = code
297
+ @message = message
298
+ end
299
+ end
300
+ end
@@ -0,0 +1,112 @@
1
+ module Kaltura
2
+ module Response
3
+
4
+ class BaseResponse < ObjectBase
5
+ attr_accessor :objects
6
+ attr_accessor :total_count
7
+
8
+ def total_count=(val)
9
+ @total_count = val.to_i
10
+ end
11
+ end
12
+
13
+ class AccessControlListResponse < BaseResponse
14
+ end
15
+
16
+ class BaseEntryListResponse < BaseResponse
17
+ end
18
+
19
+ class ModerationFlagListResponse < BaseResponse
20
+ end
21
+
22
+ class BulkUploadListResponse < BaseResponse
23
+ end
24
+
25
+ class CategoryListResponse < BaseResponse
26
+ end
27
+
28
+ class ConversionProfileListResponse < BaseResponse
29
+ end
30
+
31
+ class DataListResponse < BaseResponse
32
+ end
33
+
34
+ class FlavorParamsListResponse < BaseResponse
35
+ end
36
+
37
+ class LiveStreamListResponse < BaseResponse
38
+ end
39
+
40
+ class MediaListResponse < BaseResponse
41
+ end
42
+
43
+ class MixListResponse < BaseResponse
44
+ end
45
+
46
+ class PlaylistListResponse < BaseResponse
47
+ end
48
+
49
+ class SearchResultResponse < ObjectBase
50
+ attr_accessor :objects
51
+ attr_accessor :need_media_info
52
+
53
+ def need_media_info=(val)
54
+ @need_media_info = to_b(val)
55
+ end
56
+ end
57
+
58
+ class StartWidgetSessionResponse < ObjectBase
59
+ attr_accessor :partner_id
60
+ attr_accessor :ks
61
+ attr_accessor :user_id
62
+
63
+ def partner_id=(val)
64
+ @partner_id = val.to_i
65
+ end
66
+ end
67
+
68
+ class BaseSyndicationFeedListResponse < BaseResponse
69
+ end
70
+
71
+ class UiConfListResponse < BaseResponse
72
+ end
73
+
74
+ class UploadResponse < ObjectBase
75
+ attr_accessor :upload_token_id
76
+ attr_accessor :file_size
77
+ attr_accessor :error_code
78
+ attr_accessor :error_description
79
+
80
+ def file_size=(val)
81
+ @file_size = val.to_i
82
+ end
83
+ def error_code=(val)
84
+ @error_code = val.to_i
85
+ end
86
+ end
87
+
88
+ class UserListResponse < BaseResponse
89
+ end
90
+
91
+ class WidgetListResponse < BaseResponse
92
+ end
93
+
94
+ class SystemUserListResponse < BaseResponse
95
+ end
96
+
97
+ class SystemPartnerUsageListResponse < BaseResponse
98
+ end
99
+
100
+ class PartnerListResponse < BaseResponse
101
+ end
102
+
103
+ class FileSyncListResponse < BaseResponse
104
+ end
105
+
106
+ class FlavorParamsOutputListResponse < BaseResponse
107
+ end
108
+
109
+ class MediaInfoListResponse < BaseResponse
110
+ end
111
+ end #module Response
112
+ end #module Kaltura
@@ -0,0 +1,142 @@
1
+ require 'kaltura/service/base_service'
2
+
3
+ require 'kaltura/service/access_control_service'
4
+ require 'kaltura/service/admin_user_service'
5
+ require 'kaltura/service/base_entry_service'
6
+ require 'kaltura/service/bulk_upload_service'
7
+ require 'kaltura/service/category_service'
8
+ require 'kaltura/service/conversion_profile_service'
9
+ require 'kaltura/service/data_service'
10
+ require 'kaltura/service/email_ingestion_profile_service'
11
+ require 'kaltura/service/flavor_asset_service'
12
+ require 'kaltura/service/flavor_params_service'
13
+ require 'kaltura/service/live_stream_service'
14
+ require 'kaltura/service/media_service'
15
+ require 'kaltura/service/mixing_service'
16
+ require 'kaltura/service/notification_service'
17
+ require 'kaltura/service/partner_service'
18
+ require 'kaltura/service/playlist_service'
19
+ require 'kaltura/service/report_service'
20
+ require 'kaltura/service/search_service'
21
+ require 'kaltura/service/session_service'
22
+ require 'kaltura/service/stats_service'
23
+ require 'kaltura/service/syndication_feed_service'
24
+ require 'kaltura/service/system_service'
25
+ require 'kaltura/service/ui_conf_service'
26
+ require 'kaltura/service/upload_service'
27
+ require 'kaltura/service/user_service'
28
+ require 'kaltura/service/widget_service'
29
+ require 'kaltura/service/x_internal_service'
30
+ require 'kaltura/service/system_user_service'
31
+ require 'kaltura/service/system_partner_service'
32
+
33
+ module Kaltura
34
+ ##
35
+ # The service module provides instance methods to the Kaltura::Client class. This is the bulk of API actions.
36
+ ##
37
+ module Service
38
+
39
+ ##
40
+ # FileSyncService is a system user service.
41
+ #
42
+ # @example List up to 100 file sync objects with an error status:
43
+ # client = Kaltura::Client.new
44
+ # filter = Kaltura::Filter::FileSyncFilter.new
45
+ # filter.status_equal = Kaltura::Constants::FileSync::Status::ERROR
46
+ # pager = Kaltura::FilterPager.new
47
+ # pager.page_size = 100
48
+ # client.file_sync_service.list(filter,pager)
49
+ #
50
+ ##
51
+ class FileSyncService < BaseService
52
+
53
+ ##
54
+ # Lists file sync objects by a filter and a pager.
55
+ #
56
+ # @param [Kaltura::Filter::FileSyncFilter] filter The filter to apply to the list.
57
+ # @param [Kaltura::FilterPager] pager The default pager to apply to large lists.
58
+ #
59
+ # @return [Kaltura::Response::FileSyncListResponse] FileSyncListResponse is equivalent to Kaltura::Response::BaseResponse
60
+ #
61
+ # @raise [Kaltura::APIError] raises default Kaltura errors.
62
+ ##
63
+ def list(filter=nil, pager=nil)
64
+ kparams = {}
65
+ client.add_param(kparams, 'filter', filter)
66
+ client.add_param(kparams, 'pager', pager)
67
+ perform_request('fileSync','list',kparams,false)
68
+ end
69
+ end #class FileSyncService
70
+
71
+ ##
72
+ # FlavorParamsOutputService is not documented by Kaltura. Probably best to not play with this.
73
+ # This is likely just used internally by the KMC.
74
+ ##
75
+ class FlavorParamsOutputService < BaseService
76
+
77
+ ##
78
+ # Lists file sync objects by a filter and a pager.
79
+ #
80
+ # @param [Kaltura::Filter::FlavorParamsOutputFilter] filter The filter to apply to the list action.
81
+ # @param [Kaltura::FilterPager] pager The default pager to apply to large lists.
82
+ #
83
+ # @return [Kaltura::Response::FlavorParamsOutputListResponse] This is equivalent to the BaseResponse class.
84
+ #
85
+ # @raise [Kaltura::APIError] raises default Kaltura errors.
86
+ ##
87
+ def list(filter=nil, pager=nil)
88
+ kparams = {}
89
+ client.add_param(kparams, 'filter', filter)
90
+ client.add_param(kparams, 'pager', pager)
91
+ perform_request('flavorParamsOutput','list',kparams,false)
92
+ end
93
+ end #class FlavorParamsOutputService
94
+
95
+ ##
96
+ # MediaInfoService is not documented by Kaltura. Probably best to not play with this.
97
+ # This is likely just used internally by the KMC.
98
+ ##
99
+ class MediaInfoService < BaseService
100
+ ##
101
+ # Lists media info objects by a filter and a pager.
102
+ #
103
+ # @param [Kaltura::Filter::MediaInfoFilter] filter The filter to apply to the list action.
104
+ # @param [Kaltura::FilterPager] pager The default pager to apply to large lists.
105
+ #
106
+ # @return [Kaltura::Response::MediaInfoListResponse] This is equivalent to the BaseResponse class.
107
+ #
108
+ # @raise [Kaltura::APIError] raises default Kaltura errors.
109
+ ##
110
+ def list(filter=nil, pager=nil)
111
+ kparams = {}
112
+ client.add_param(kparams, 'filter', filter)
113
+ client.add_param(kparams, 'pager', pager)
114
+ perform_request('mediaInfo','list',kparams,false)
115
+ end
116
+ end #class MediaInfoService
117
+
118
+ ##
119
+ # EntryAdminService is not documented by Kaltura. Probably best not to play with this.
120
+ # This is likely just used internally by the KMC.
121
+ ##
122
+ class EntryAdminService < BaseService
123
+
124
+ ##
125
+ # Gets an EntryAdmin object by entry_id.
126
+ #
127
+ # @param [String] entry_id Media entry id
128
+ # @param [Integer] version Desired version of the data.
129
+ #
130
+ # @return [Object] Not entirely sure what this returns.
131
+ #
132
+ # @raise [Kaltura::APIError] Raises default Kaltura errors.
133
+ ##
134
+ def get(entry_id, version=-1)
135
+ kparams = {}
136
+ client.add_param(kparams, 'entryId', entry_id)
137
+ client.add_param(kparams, 'version', version)
138
+ perform_request('entryAdmin','get',kparams,false)
139
+ end
140
+ end #class EntryAdminService
141
+ end #module Service
142
+ end #module Kaltura