def createEntry(self):
        entry = KalturaMediaEntry()
        entry.mediaType = KalturaMediaType.VIDEO
        entry.name = self.uniqid('test_')
        entry.description = self.uniqid('test ')
        entry.tags = self.uniqueTag

        entry = self.client.media.add(entry)

        return entry
    def _AdvancedMultiRequestExample(self):
        # this is a separate, local client - not 'self.client'
        client = KalturaClient(
            self.config)  # matches line 154 in PythonTester.py
        client.startMultiRequest()

        from KalturaClient.Plugins.Core import KalturaMixEntry
        from KalturaClient.Plugins.Core import KalturaEditorType

        # Request 1
        ks = client.session.start(ADMIN_SECRET, USER_NAME,
                                  KalturaSessionType.ADMIN,
                                  PARTNER_ID, 86400, "")
        # for the current multi request, the result of the first call will be
        # used as the ks for next calls
        client.setKs(ks)

        mixEntry = KalturaMixEntry()
        mixEntry.setName(".Net Mix %s" % (testString,))
        mixEntry.setEditorType(KalturaEditorType.SIMPLE)

        # Request 2
        mixEntry = client.mixing.add(mixEntry)

        # Request 3
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = client.media.upload(ulFile)

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName("Media Entry For Mix %s" % (testString,))
        mediaEntry.setMediaType(KalturaMediaType.VIDEO)

        # Request 4
        mediaEntry = client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)

        # Request 5
        client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)

        response = client.doMultiRequest()

        for subResponse in response:
            if isinstance(subResponse, KalturaException):
                self.fail("Error occurred: " + subResponse.message)

        # when accessing the response object we will use an index and not the
        # response number (response number - 1)
        assert(isinstance(response[1], KalturaMixEntry))
        mixEntry = response[1]

        print("The new mix entry id is: {}".format(mixEntry.id))
Example #3
0
    def __init__(self, context):

        self.mediaEntry = KalturaMediaEntry()
        directlyProvides(self.mediaEntry, IKalturaMediaEntry)

        self.mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        self.mediaEntry.setReferenceId(context.UID())

        self.mediaEntry.setName(context.title)

        #set Description
        self.mediaEntry.setDescription(context.description)
        #Set Tags
        #make a comma delimited string, and pass that in.
        tags = ','.join([t for t in context.tags if t])
        self.mediaEntry.setTags(tags)
    def test_utf8_tags(self):
        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName('pytest.MediaTests.test_UTF8_tags')
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)

        mediaEntry.setTags(self.test_unicode)

        #this will throw an exception if fail.
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)

        self.addCleanup(self.client.media.delete, mediaEntry.getId())
Example #5
0
    def test_addmedia(self):
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName("Media Entry Using Python Client ver %s" % (API_VERSION,))
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)

        # serve
        DATA_ENTRY_CONTENT = 'bla bla bla'
        dataEntry = KalturaDataEntry()
        dataEntry.setName('test data entry')
        dataEntry.setDataContent(DATA_ENTRY_CONTENT)
        addedDataEntry = self.client.data.add(dataEntry)
        serveUrl = self.client.data.serve(addedDataEntry.id)
        f = urllib.urlopen(serveUrl)
        assert(DATA_ENTRY_CONTENT == f.read())
Example #6
0
    def _createKobj(self):
        """Return kaltura media entry that represents this object in plone
           This will not create the Media Entry on remote.
           This can be compared to self.KalturaObject, which is the object we last saw from remote
        """
        mediaEntry = API_KalturaMediaEntry()
        mediaEntry.setMediaType(self.KalturaMediaType)
        mediaEntry.setReferenceId(self.UID())
        for field_descr in self.fieldmap:

            #get value from plone object
            getter = getattr(self, field_descr['pgetter'])
            val = getter()

            #set value on Kaltura Object
            setter = getattr(mediaEntry, field_descr['ksetter'])
            setter(val)

        return mediaEntry
    def _createKobj(self):
        """Return kaltura media entry that represents this object in plone
           This will not create the Media Entry on remote.
           This can be compared to self.KalturaObject, which is the object we last saw from remote
        """
        mediaEntry = API_KalturaMediaEntry()
        mediaEntry.setMediaType(self.KalturaMediaType)
        mediaEntry.setReferenceId(self.UID())
        for field_descr in self.fieldmap:

            # get value from plone object
            getter = getattr(self, field_descr["pgetter"])
            val = getter()

            # set value on Kaltura Object
            setter = getattr(mediaEntry, field_descr["ksetter"])
            setter(val)

        return mediaEntry
Example #8
0
    def test_utf8_tags(self):        
        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName('pytest.MediaTests.test_UTF8_tags')
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)

        mediaEntry.setTags(self.test_unicode)
        
        #this will throw an exception if fail.
        mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
            
        self.addCleanup(self.client.media.delete, mediaEntry.getId())
Example #9
0
def change_mediaentry_objects(client, filename, newdomain, subdomains):
    """ change mediaEntry objects to new domain """

    with open(filename, "r") as csvfile:
        logging.debug("parsing " + filename)
        line_count = file_len(filename)
        change_data = reader(csvfile)
        for user in track(change_data,
                          total=line_count,
                          description="Updating mediaEntry objects"):
            logging.debug(user)
            new_id = exchange_domain(user[0], newdomain, subdomains)
            for media_entry in user[1:]:
                if media_entry == "":
                    continue
                update_body = KalturaMediaEntry()
                update_body.userId = new_id
                try:
                    client.media.update(media_entry, update_body)
                except Exception as error:
                    logging.error("error: ", exc_info=error)
Example #10
0
class Kaltura_VideoMediaEntryProvider(object):
    def __init__(self, context):

        self.mediaEntry = KalturaMediaEntry()
        directlyProvides(self.mediaEntry, IKalturaMediaEntry)

        self.mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        self.mediaEntry.setReferenceId(context.UID())

        self.mediaEntry.setName(context.title)

        #set Description
        self.mediaEntry.setDescription(context.description)
        #Set Tags
        #make a comma delimited string, and pass that in.
        tags = ','.join([t for t in context.tags if t])
        self.mediaEntry.setTags(tags)

        #Don't set categories - those are handled separately.

    def getEntry(self):
        return self.mediaEntry
 def test_utf8_name(self):
     test_unicode = '\u03dd\xf5\xf6'  #an odd representation of the word 'FOO'
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('pytest.MediaTests.test_UTF8_name'+test_unicode)
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     
     #this will throw an exception if fail.
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
         
     self.addCleanup(self.client.media.delete, mediaEntry.getId())
Example #12
0
def kupload(FileObject, mediaEntry=None):
    """Provide an ATCTFileContent based object
       Upload attached contents to Kaltura
       Currently Treats all objects as 'videos' - 
         this should change when other kaltura media types are implemented.
       If MediaEntry is provided, the File is 
    """
    
    #this check can be done better
    if not hasattr(FileObject, 'get_data'):
        print "nothing to upload to kaltura from object %s" % (str(FileObject),)
        return 1;
    
    #XXX Configure Temporary Directory and name better
    #XXX Turn into a file stream from context.get_data to avoid write to file...        
    tempfh = open('/tmp/tempfile', 'wr')
    tempfh.write(FileObject.get_data())
    tempfh.close()    
    
    #XXX Not A good idea if we plan on not using the ZODB
    name = FileObject.Title()
    ProviderId = FileObject.UID()  
     
    (client, session) = kconnect()
    
    if mediaEntry is None:
        #create an entry
        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName(name)
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        mediaEntry.searchProviderId = ProviderId
        mediaEntry.setReferenceId = ProviderId

    uploadTokenId = client.media.upload(file('/tmp/tempfile', 'rb'))  
    
    #del the temp file
    os.remove('/tmp/tempfile')
    
    mediaEntry = client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
    KalturaLoggerInstance.log("uploaded.  MediaEntry %s" % (mediaEntry.__repr__()))
    return mediaEntry
Example #13
0
 def test_list_utf8_search(self):
     """Get a list of videos based on a tag search containing unicode"""
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('pytest.MediaTests.test_UTF8_tags')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     mediaEntry.setTags(self.test_unicode)
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     self.addCleanup(self.client.media.delete, mediaEntry.getId())
     
     self.readyWait(mediaEntry.getId())
     
     #find it!
     kfilter = KalturaMediaEntryFilter()
     kfilter.setTagsLike(self.test_unicode)
     result = self.client.media.list(filter=kfilter)
     
     self.assertEqual(1, len(result.objects), 
                      msg="Did not get expected number of objects back from result")
     
     mediaResult = result.objects[0]
     self.assertEqual(mediaEntry.getId(), mediaResult.getId(),
                      msg="Did not get expected media object from result")
Example #14
0
    def createEntry(self):
        entry = KalturaMediaEntry()
        entry.mediaType = KalturaMediaType.VIDEO
        entry.name = self.uniqid('test_')
        entry.description = self.uniqid('test ')
        entry.tags = self.uniqueTag

        entry = self.client.media.add(entry)

        return entry
 def test_createRemote(self):
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('pytest.MediaTests.test_createRemote')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
         
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)            
                  
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     
     self.assertIsInstance(mediaEntry.getId(), str)
     
     #cleanup
     self.client.media.delete(mediaEntry.id)
Example #16
0
 def test_utf8_name(self):
     test_unicode = u'\u03dd\xf5\xf6'  #an odd representation of the word 'FOO'
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName(u'pytest.MediaTests.test_UTF8_name'+test_unicode)
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     
     #this will throw an exception if fail.
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
         
     self.addCleanup(self.client.media.delete, mediaEntry.getId())
Example #17
0
    def _AdvancedMultiRequestExample(self):
        # this is a separate, local client - not 'self.client'
        client = KalturaClient(
            self.config)  # matches line 154 in PythonTester.py
        client.startMultiRequest()

        from KalturaClient.Plugins.Core import KalturaMixEntry
        from KalturaClient.Plugins.Core import KalturaEditorType

        # Request 1
        ks = client.session.start(ADMIN_SECRET, USER_NAME,
                                  KalturaSessionType.ADMIN, PARTNER_ID, 86400,
                                  "")
        # for the current multi request, the result of the first call will be
        # used as the ks for next calls
        client.setKs(ks)

        mixEntry = KalturaMixEntry()
        mixEntry.setName(".Net Mix %s" % (testString, ))
        mixEntry.setEditorType(KalturaEditorType.SIMPLE)

        # Request 2
        mixEntry = client.mixing.add(mixEntry)

        # Request 3
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = client.media.upload(ulFile)

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName("Media Entry For Mix %s" % (testString, ))
        mediaEntry.setMediaType(KalturaMediaType.VIDEO)

        # Request 4
        mediaEntry = client.media.addFromUploadedFile(mediaEntry,
                                                      uploadTokenId)

        # Request 5
        client.mixing.appendMediaEntry(mixEntry.id, mediaEntry.id)

        response = client.doMultiRequest()

        for subResponse in response:
            if isinstance(subResponse, KalturaException):
                self.fail("Error occurred: " + subResponse.message)

        # when accessing the response object we will use an index and not the
        # response number (response number - 1)
        assert (isinstance(response[1], KalturaMixEntry))
        mixEntry = response[1]

        print("The new mix entry id is: {}".format(mixEntry.id))
Example #18
0
 def test_addFromUploadedFile(self):
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('pytest.MediaTests.test_addFromUploadedFile')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
         
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)            
                  
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     
     self.assertIsInstance(mediaEntry.getId(), unicode)
     
     #cleanup
     self.client.media.delete(mediaEntry.id)
Example #19
0
    def test_addStaticToExistingEmpty(self):
        from KalturaClient.Plugins.Core import KalturaMediaEntry, KalturaMediaType
        referenceId = 'pytest.PlaylistTests.test_addStaticToExistingEmpty'
        #create empty playlist on server
        kplaylist = KalturaPlaylist()
        kplaylist.setName(referenceId)
        kplaylist.setReferenceId(referenceId)
        kplaylist.setPlaylistType(
            KalturaPlaylistType(KalturaPlaylistType.STATIC_LIST))
        kplaylist = self.client.playlist.add(kplaylist)
        self.addCleanup(self.client.playlist.delete, kplaylist.getId())

        playlistId = kplaylist.getId()

        #now, add some media

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName(referenceId)
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)
        self.addCleanup(self.client.media.delete, mediaEntry.getId())

        #add to (update) existing playlist
        newplaylist = KalturaPlaylist()
        newplaylist.setReferenceId(referenceId)

        playlistContent = u','.join([mediaEntry.getId()])
        newplaylist.setPlaylistContent(playlistContent)

        self.client.playlist.update(playlistId, newplaylist)

        #check it.
        resultPlaylist = self.client.playlist.get(playlistId)

        self.assertEqual(playlistContent, resultPlaylist.getPlaylistContent())
    def test_addStaticToExistingEmpty(self):
        referenceId = 'pytest.PlaylistTests.test_addStaticToExistingEmpty'
        # create empty playlist on server
        kplaylist = KalturaPlaylist()
        kplaylist.setName(referenceId)
        kplaylist.setReferenceId(referenceId)
        kplaylist.setPlaylistType(
            KalturaPlaylistType(KalturaPlaylistType.STATIC_LIST))
        kplaylist = self.client.playlist.add(kplaylist)
        self.addCleanup(self.client.playlist.delete, kplaylist.getId())

        playlistId = kplaylist.getId()

        # now, add some media

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName(referenceId)
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)
        self.addCleanup(self.client.media.delete, mediaEntry.getId())

        # add to (update) existing playlist
        newplaylist = KalturaPlaylist()
        newplaylist.setReferenceId(referenceId)

        playlistContent = u','.join([mediaEntry.getId()])
        newplaylist.setPlaylistContent(playlistContent)

        self.client.playlist.update(playlistId, newplaylist)

        # check it.
        resultPlaylist = self.client.playlist.get(playlistId)

        self.assertEqual(playlistContent, resultPlaylist.getPlaylistContent())
    def test_addmedia(self):
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)

        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName("Media Entry Using Python Client ver %s" %
                           (API_VERSION, ))
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)

        # serve
        DATA_ENTRY_CONTENT = 'bla bla bla'
        dataEntry = KalturaDataEntry()
        dataEntry.setName('test data entry')
        dataEntry.setDataContent(DATA_ENTRY_CONTENT)
        addedDataEntry = self.client.data.add(dataEntry)
        serveUrl = self.client.data.serve(addedDataEntry.id)
        f = urllib.urlopen(serveUrl)
        assert (DATA_ENTRY_CONTENT == f.read())
Example #22
0
 def testTwoTags(self):
     """Places 3 videos on the server:
        one with two tags: 'tag1' and 'tag2'
        one with the tag 'tag1'
        one with the tag 'tag2'
        
        the kalutra object with two tags is provided to 'getRelated'
        
        we expect to get all three objects back from getRelated
     """
     
     #MediaEntry1
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('rfa.kaltura.GetRelatedTests.testTwoTags1')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     mediaEntry.setTags(u'tag1 tag2')
     mediaEntry1 = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     self.addCleanup(self.client.media.delete, mediaEntry1.getId())
     
     #MediaEntry2
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('rfa.kaltura.GetRelatedTests.testTwoTags2')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     mediaEntry.setTags(u'tag1')
     mediaEntry2 = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     self.addCleanup(self.client.media.delete, mediaEntry2.getId())
     
     #MediaEntry3
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('rfa.kaltura.GetRelatedTests.testTwoTags3')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     mediaEntry.setTags(u'tag2')
     mediaEntry3 = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     self.addCleanup(self.client.media.delete, mediaEntry3.getId())
     
     self.readyWait(mediaEntry1.getId())
     self.readyWait(mediaEntry2.getId())
     self.readyWait(mediaEntry3.getId())
     
     #do it.
     results = kutils.getRelated(mediaEntry1)
     self.assertEqual(3,
                      len(results),
                      "Did not get expected # of objects back from kutils.getRelated()")
    def test_updateContent(self):
        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName('pytest.MediaTests.test_updateContent')
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)
        self.addCleanup(self.client.media.delete, mediaEntry.getId())
        self.readyWait(mediaEntry.getId())

        #now, change the content on the mediaEntry to another video file
        token = KalturaUploadToken()
        token = self.client.uploadToken.add(token)
        self.addCleanup(self.client.uploadToken.delete, token.getId())
        ulFile = getTestFile('countdown.mp4')
        token = self.client.uploadToken.upload(token.getId(), ulFile)

        #create a resource
        resource = KalturaUploadedFileTokenResource()
        resource.setToken(token.getId())

        #DO THE TEST
        newMediaEntry = self.client.media.updateContent(
            mediaEntry.getId(), resource)

        #must approve it...
        newMediaEntry = self.client.media.approveReplace(newMediaEntry.getId())
        self.readyWait(newMediaEntry.getId())

        #make sure everything but content is the same
        self.assertEqual(mediaEntry.getId(), newMediaEntry.getId())
        self.assertEqual(mediaEntry.getName(), newMediaEntry.getName())

        self.assertNotEqual(mediaEntry.getDuration(),
                            newMediaEntry.getDuration())
    def test_list_utf8_search(self):
        """Get a list of videos based on a tag search containing unicode"""
        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName('pytest.MediaTests.test_UTF8_tags')
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry.setTags(self.test_unicode)
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)
        self.addCleanup(self.client.media.delete, mediaEntry.getId())

        self.readyWait(mediaEntry.getId())

        #find it!
        kfilter = KalturaMediaEntryFilter()
        kfilter.setTagsLike(self.test_unicode)
        result = self.client.media.list(filter=kfilter)

        self.assertEqual(
            1,
            len(result.objects),
            msg="Did not get expected number of objects back from result")

        mediaResult = result.objects[0]
        self.assertEqual(mediaEntry.getId(),
                         mediaResult.getId(),
                         msg="Did not get expected media object from result")
Example #25
0
 def test_updateStaticContent(self):        
             
     from KalturaClient.Plugins.Core import KalturaMediaEntry, KalturaMediaType
     
     mediaEntry1 = KalturaMediaEntry()
     mediaEntry1.setName('pytest.PlaylistTests.test_updateStaticContent1')
     mediaEntry1.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile) 
     mediaEntry1 = self.client.media.addFromUploadedFile(mediaEntry1, uploadTokenId)
     
     self.addCleanup(self.client.media.delete, mediaEntry1.getId())
             
     mediaEntry2 = KalturaMediaEntry()
     mediaEntry2.setName('pytest.PlaylistTests.test_updateStaticContent2')
     mediaEntry2.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile) 
     mediaEntry2 = self.client.media.addFromUploadedFile(mediaEntry2, uploadTokenId)        
     
     self.addCleanup(self.client.media.delete, mediaEntry2.getId())
     
     #playlistContent is simply a comma separated string of id's ?  
     playlistContent = u','.join([mediaEntry1.getId(), mediaEntry2.getId()])
                     
     kplaylist = KalturaPlaylist()
     kplaylist.setName('pytest.PlaylistTests.test_updateStaticContent')
     kplaylist.setPlaylistType(KalturaPlaylistType(KalturaPlaylistType.STATIC_LIST))
     
     kplaylist.setPlaylistContent(playlistContent)
     kplaylist = self.client.playlist.add(kplaylist)
     
     self.addCleanup(self.client.playlist.delete, kplaylist.getId())
     
     #fetch the playlist from server and test it's content.
     resultPlaylist = self.client.playlist.get(kplaylist.getId())
     self.assertEqual(resultPlaylist.playlistContent, playlistContent)
Example #26
0
    def test_updateStaticContent(self):

        from KalturaClient.Plugins.Core import KalturaMediaEntry, KalturaMediaType

        mediaEntry1 = KalturaMediaEntry()
        mediaEntry1.setName('pytest.PlaylistTests.test_updateStaticContent1')
        mediaEntry1.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry1 = self.client.media.addFromUploadedFile(
            mediaEntry1, uploadTokenId)

        self.addCleanup(self.client.media.delete, mediaEntry1.getId())

        mediaEntry2 = KalturaMediaEntry()
        mediaEntry2.setName('pytest.PlaylistTests.test_updateStaticContent2')
        mediaEntry2.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry2 = self.client.media.addFromUploadedFile(
            mediaEntry2, uploadTokenId)

        self.addCleanup(self.client.media.delete, mediaEntry2.getId())

        #playlistContent is simply a comma separated string of id's ?
        playlistContent = u','.join([mediaEntry1.getId(), mediaEntry2.getId()])

        kplaylist = KalturaPlaylist()
        kplaylist.setName('pytest.PlaylistTests.test_updateStaticContent')
        kplaylist.setPlaylistType(
            KalturaPlaylistType(KalturaPlaylistType.STATIC_LIST))

        kplaylist.setPlaylistContent(playlistContent)
        kplaylist = self.client.playlist.add(kplaylist)

        self.addCleanup(self.client.playlist.delete, kplaylist.getId())

        #fetch the playlist from server and test it's content.
        resultPlaylist = self.client.playlist.get(kplaylist.getId())
        self.assertEqual(resultPlaylist.playlistContent, playlistContent)
Example #27
0
    def test_createAncestorCategoryRule(self):
        from KalturaClient.Plugins.Core import KalturaMediaEntry, KalturaMediaType
        from KalturaClient.Plugins.Core import KalturaPlaylistFilter
        from KalturaClient.Plugins.Core import KalturaCategory

        referenceId = 'pytest.DynamicPlaylistTests.test_createAncestorCategoryRule'

        #create category entry hierarchy
        topCategory = KalturaCategory()
        topCategory.setName("TopCategory")
        topCategory = self.client.category.add(topCategory)
        self.addCleanup(self.client.category.delete, topCategory.getId())

        subCategory = KalturaCategory()
        subCategory.setName("SubCategory")
        subCategory.setParentId(topCategory.getId())
        subCategory = self.client.category.add(subCategory)
        self.addCleanup(self.client.category.delete, subCategory.getId())

        #create a video, and assign it to subCategory.
        mediaEntry = KalturaMediaEntry()
        mediaEntry.setName(referenceId)
        mediaEntry.setReferenceId(referenceId)
        mediaEntry.setCategoriesIds(subCategory.getId())
        mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
        ulFile = getTestFile('DemoVideo.flv')
        uploadTokenId = self.client.media.upload(ulFile)
        mediaEntry = self.client.media.addFromUploadedFile(
            mediaEntry, uploadTokenId)
        self.addCleanup(self.client.media.delete, mediaEntry.getId())

        #create a playlist
        kplaylist = KalturaPlaylist()
        kplaylist.setName(referenceId)
        kplaylist.setPlaylistType(
            KalturaPlaylistType(KalturaPlaylistType.DYNAMIC))
        kplaylist.setTotalResults(10)
        kplaylist.setReferenceId(referenceId)

        #Create A Filter - use Top Level Category
        kFilter = KalturaPlaylistFilter()
        kFilter.setCategoryAncestorIdIn(topCategory.getId())
        kplaylist.setFilters([kFilter])

        kplaylist = self.client.playlist.add(kplaylist)
        self.addCleanup(self.client.playlist.delete, kplaylist.getId())

        print "Waiting for Media Entry to be 'Ready'"
        sleeptime = 5
        mediaEntry = self.client.media.get(mediaEntry.getId())
        while mediaEntry.getStatus().getValue() != '2':
            print "media entry status is %s " % (
                mediaEntry.getStatus().getValue())
            time.sleep(sleeptime)
            mediaEntry = self.client.media.get(mediaEntry.getId())

        results = self.client.playlist.execute(kplaylist.getId(), kplaylist)

        self.assertEqual(len(results), 1)
        self.assertEqual(results[0].getName(), referenceId)
Example #28
0
def kcreateVideo(context):
    """given a plone content-type of kalturavideo,
       create a video entry on Kaltura
       The mediaEntry ReferenceId is set to the UID of the plone object to tie them together
    """
    mediaEntry = KalturaMediaEntry()
    mediaEntry.setName(context.Title())
    mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
    mediaEntry.searchProviderId = context.UID() #XXX Is this correct?  We assign this to the file UID stored in plone.
    
    #kaltura referenceId == plone UID
    mediaEntry.setReferenceId(context.UID())
    
    if len(context.getCategories()):
        mediaEntry.setCategoriesIds(','.join([c for c in context.getCategories() if c]))
        
    if len(context.getTags()):
        mediaEntry.setTags(','.join([t for t in context.getTags() if t]))
    
    return mediaEntry
Example #29
0
 def test_createAncestorCategoryRule(self):
     from KalturaClient.Plugins.Core import KalturaMediaEntry, KalturaMediaType
     from KalturaClient.Plugins.Core import KalturaPlaylistFilter
     from KalturaClient.Plugins.Core import KalturaCategory
     
     referenceId = 'pytest.DynamicPlaylistTests.test_createAncestorCategoryRule'
             
     #create category entry hierarchy
     topCategory = KalturaCategory()
     topCategory.setName('TopCategory_' + str(time.time()))
     topCategory = self.client.category.add(topCategory)
     self.addCleanup(self.client.category.delete, topCategory.getId())
     
     subCategory = KalturaCategory()
     subCategory.setName("SubCategory" + str(time.time()))
     subCategory.setParentId(topCategory.getId())
     subCategory = self.client.category.add(subCategory)
     self.addCleanup(self.client.category.delete, subCategory.getId())
             
     #create a video, and assign it to subCategory.
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName(referenceId)
     mediaEntry.setReferenceId(referenceId)
     mediaEntry.setCategoriesIds(subCategory.getId())
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile) 
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)         
     self.addCleanup(self.client.media.delete, mediaEntry.getId())    
     
     #create a playlist
     kplaylist = KalturaPlaylist()
     kplaylist.setName(referenceId)
     kplaylist.setPlaylistType(KalturaPlaylistType(KalturaPlaylistType.DYNAMIC))
     kplaylist.setTotalResults(10)
     kplaylist.setReferenceId(referenceId)
     
     #Create A Filter - use Top Level Category
     kFilter = KalturaPlaylistFilter()
     kFilter.setCategoryAncestorIdIn(topCategory.getId())
     kplaylist.setFilters([kFilter])
     
     kplaylist = self.client.playlist.add(kplaylist)
     self.addCleanup(self.client.playlist.delete, kplaylist.getId())
     
     print "Waiting for Media Entry to be 'Ready'"
     sleeptime=5
     mediaEntry = self.client.media.get(mediaEntry.getId())
     while mediaEntry.getStatus().getValue() != '2':
         print "media entry status is %s " % (mediaEntry.getStatus().getValue())
         time.sleep(sleeptime)
         mediaEntry = self.client.media.get(mediaEntry.getId())
     
     results = self.client.playlist.execute(kplaylist.getId(), kplaylist)
     
     self.assertEqual(len(results), 1)
     self.assertEqual(results[0].getName(), referenceId)
Example #30
0
 def test_updateContent(self):
     mediaEntry = KalturaMediaEntry()
     mediaEntry.setName('pytest.MediaTests.test_updateContent')
     mediaEntry.setMediaType(KalturaMediaType(KalturaMediaType.VIDEO))
     ulFile = getTestFile('DemoVideo.flv')
     uploadTokenId = self.client.media.upload(ulFile)
     mediaEntry = self.client.media.addFromUploadedFile(mediaEntry, uploadTokenId)
     self.addCleanup(self.client.media.delete, mediaEntry.getId())
     self.readyWait(mediaEntry.getId())
     
     #now, change the content on the mediaEntry to another video file
     token = KalturaUploadToken()
     token = self.client.uploadToken.add(token)
     self.addCleanup(self.client.uploadToken.delete, token.getId())
     ulFile = getTestFile('countdown.mp4')
     token = self.client.uploadToken.upload(token.getId(), ulFile)
     
     #create a resource
     resource = KalturaUploadedFileTokenResource()
     resource.setToken(token.getId())
     
     #DO THE TEST
     newMediaEntry = self.client.media.updateContent(mediaEntry.getId(), resource)
     
     #must approve it...
     newMediaEntry = self.client.media.approveReplace(newMediaEntry.getId())
     self.readyWait(newMediaEntry.getId())
     
     #make sure everything but content is the same
     self.assertEqual(mediaEntry.getId(), newMediaEntry.getId())
     self.assertEqual(mediaEntry.getName(), newMediaEntry.getName())
     
     self.assertNotEqual(mediaEntry.getDuration(), newMediaEntry.getDuration())