def search_service(): kaltura_id, entry_id = parse_ids() client = kaltura_session_loader(kaltura_id) # composite = request.args.get('composite',None) or \ # request.form.get('composite', None) entriesData = myKalturaObject.searchVideos(client, kaltura_id, True) return simplejson.dumps(entriesData)
def get_excel(): kaltura_id, entry_id = parse_ids() fields = request.args.get('fields', None) if fields: fields = [item.lower() for item in fields.split(',') if item.lower() in myKalturaObject.DEFAULT_SEARCH_FIELD_LIST] else: fields = myKalturaObject.DEFAULT_SEARCH_FIELD_LIST filename = request.args.get('filename', None) # if i don't set pagesize, kaltura uses 30 as default. # max is 500 btw. pagesize = int(request.args.get('pagesize', 500)) types = request.args.get('types', 'video,audio').split(',') skip_types = [each for each in ['video', 'audio', 'image'] if each not in types] skip_vals = {'media_type': [each.upper() for each in skip_types]} if not filename: # raise Exception('filename is required') settings = properties.load_kaltura_settings().get(kaltura_id) filename = str(kaltura_id) + settings['KALTURA_NAME'] filename = secure_filename(filename) client = kaltura_session_loader(kaltura_id) totaling_success, total = myKalturaObject.count(client) workbook, filepath = create_workbook(filename) worksheet = get_new_worksheet(workbook) i = total / pagesize + (1 if total % pagesize else 0) skipped = 0 for num in utils.rangegen(i): data = myKalturaObject.searchVideos( client, kaltura_id, True, int(pagesize), num + 1) write_result = write_to_worksheet(worksheet, data, fields, int(pagesize) * num - skipped, skip_vals) skipped += write_result['skipped'] close_workbook(workbook) return send_file(filepath, as_attachment=True, attachment_filename=os.path.basename(filepath))