goncalossilva_kaltura-ruby 0.4.8

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.
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