code: def update_video(video_data):
      
  
      try:
          video = _get_video(video_data.get("edx_video_id"))
      except Video.DoesNotExist:
          error_message = u"Video not found when trying to update video with edx_video_id: {0}".format(video_data.get("edx_video_id"))
          raise ValVideoNotFoundError(error_message)
  
      serializer = VideoSerializer(video, data=video_data)
      if serializer.is_valid():
          serializer.save()
          return video_data.get("edx_video_id")
      else:
          raise ValCannotUpdateError(serializer.errors)
docs: Called on to update Video objects in the database
  
      update_video is used to update Video objects by the given edx_video_id in the video_data.
  
      Args:
          video_data (dict):
           {
                  url: api url to the video
                  edx_video_id: ID of the video
                  duration: Length of video in seconds
                  client_video_id: client ID of video
                  encoded_video: a list of EncodedVideo dicts
                      url: url of the video
                      file_size: size of the video in bytes
                      profile: ID of the profile
                  courses: Courses associated with this video
           }
  
      Raises:
          Raises ValVideoNotFoundError if the video cannot be retrieved.
          Raises ValCannotUpdateError if the video cannot be updated.
  
      Returns the successfully updated Video object