Example #1
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())
Example #2
0
    def replaceFileOnRemote(self, client=None):
        resource = KalturaUploadedFileTokenResource()
        resource.setToken(self.uploadToken.getId())
        try:
            client.media.updateContent(self.entryId, resource)
        except KalturaException as e:
            if e.code == u'ENTRY_REPLACEMENT_ALREADY_EXISTS':
                #auto-deny the half-cooked replacement and re-try
                client.media.cancelReplace(self.entryId)
                client.media.updateContent(self.entryId, resource)

        #XXX adjust workflow:
        #XXX if 'auto approve' is turned off in settings:
        newMediaEntry = client.media.approveReplace(self.entryId)
    def replaceFileOnRemote(self, client=None):
        resource = KalturaUploadedFileTokenResource()
        resource.setToken(self.uploadToken.getId())
        try:
            client.media.updateContent(self.entryId, resource)
        except KalturaException as e:
            if e.code == u"ENTRY_REPLACEMENT_ALREADY_EXISTS":
                # auto-deny the half-cooked replacement and re-try
                client.media.cancelReplace(self.entryId)
                client.media.updateContent(self.entryId, resource)

        # XXX adjust workflow:
        # XXX if 'auto approve' is turned off in settings:
        newMediaEntry = client.media.approveReplace(self.entryId)
Example #4
0
def modifyVideo(context, event):
    """Fired when the object is edited
       Any differences between plone object (context) and kaltura object
       are considered edits to the kaltura object, and are sent to kaltura
    """
    newMediaEntry = IKalturaMediaEntryProvider(context).getEntry()
    entryId = context.KalturaObject.getId()
    file_changed = False
    if hasattr(event, 'descriptions') and event.descriptions:
        for d in event.descriptions:
            if d.interface is IKaltura_Video and 'video_file' in d.attributes:
                file_changed = True

    (client, session) = kconnect()

    mediaEntry = client.media.update(entryId, newMediaEntry)
    context.KalturaObject = mediaEntry

    if file_changed:
        logger.log('uploading new video for %s' % (context.getId(), ),
                   level=logging.WARN)

        uploadTokenId = uploadVideo(context, client)
        resource = KalturaUploadedFileTokenResource()
        resource.setToken(uploadTokenId)
        try:
            client.media.updateContent(entryId, resource)
        except KalturaException as e:
            if e.code == 'ENTRY_REPLACEMENT_ALREADY_EXISTS':
                #auto-deny the half-cooked replacement and re-try
                client.media.cancelReplace(entryId)
                client.media.updateContent(entryId, resource)

        #XXX if 'auto approve' is turned off in settings:
        try:
            newMediaEntry = client.media.approveReplace(entryId)
        except KalturaException as e:
            if e.code == 'ENTRY_ID_NOT_REPLACED':
                logger.log(
                    'Kaltura Video not replaced on KMC for %s, entry id %s' %
                    (context.getId(), entryId),
                    level=logging.WARN)

    syncCategories(context, client)
Example #5
0
 def set_recorded_content_remote(self, upload_session, duration):
     token_id = upload_session.token_id
     recorded_id = upload_session.recorded_id
     entry_id = upload_session.entry_id
     partner_id = upload_session.partner_id
     resource = KalturaUploadedFileTokenResource(token_id)
     self.logger.info(
         "set_recorded_content_remote partner_id [%s] token [%s] duration [%s]",
         partner_id, token_id, duration)
     self.set_recorded_content(entry_id, resource, duration, partner_id,
                               recorded_id)
    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())