# -*- coding: UTF-8 -*- """ # Class UploadVideoRequest # # Aliyun VoD's Upload Video Request class, which wraps parameters to upload a video into VoD. # Users could pass parameters to AliyunVodUploader, including File Path,Title,etc. via an UploadVideoRequest instance. # For more details, please check out the VoD API document: https://help.aliyun.com/document_detail/55407.html """ from .utils import VideoUtils from .exceptions import VideoException class VideoConfig: def __init__(self, filePath, title=None, fileExt=None): """ constructor for UploadVideoRequest :param filePath: string, 文件的绝对路径,或者网络文件的URL,必须含有扩展名 :param title: string, 视频标题,最长128字节,不传则使用文件名为标题 :return """ self.filePath = None self.fileName = None self.mediaExt = None self.title = None self.setFilePath(filePath, title, fileExt) self.cateId = None self.tags = None self.description = None self.coverURL = None self.templateGroupId = None self.isShowWatermark = None self.userData = None self.storageLocation = None self.uploadId = None self.appId = None self.workflowId = None def setFilePath(self, filePath, title=None, fileExt=None): if fileExt is None: fileExt = VideoUtils.getFileExtension(filePath) if not fileExt: raise VideoException( 'ParameterError', 'InvalidParameter', 'filePath has no Extension') fileExt = fileExt.lstrip('.') self.mediaExt = fileExt self.filePath = VideoUtils.toUnicode(filePath) briefPath, briefName = VideoUtils.getFileBriefPath(self.filePath) self.fileName = briefPath if fileExt and (not self.fileName.endswith('.' + fileExt)): self.fileName = self.fileName + '.' + fileExt if title: self.title = title else: if self.title is None: self.title = briefName def setCateId(self, cateId): self.cateId = cateId def setTags(self, tags): self.tags = tags def setDescription(self, description): self.description = description def setCoverURL(self, coverURL): self.coverURL = coverURL def setTemplateGroupId(self, templateGroupId): self.templateGroupId = templateGroupId # 关闭水印,仅用于配置全局水印且转码模板开启水印后,单次上传时关闭水印 def shutdownWatermark(self): self.isShowWatermark = False # 设置上传ID,可用于关联导入视频 def setUploadId(self, uploadId): self.uploadId = uploadId def setAppId(self, appId): self.appId = appId def setWorkflowId(self, workflowId): self.workflowId = workflowId class ImageConfig: def __init__(self, filePath, title=None, fileExt=None): """ constructor for UploadVideoRequest :param filePath: string, 文件的绝对路径,或者网络文件的URL,必须含有扩展名 :param title: string, 图片标题 :return """ self.filePath = None self.fileName = None self.imageExt = None self.mediaExt = None self.title = None self.setFilePath(filePath, title, fileExt) self.imageType = 'default' self.cateId = None self.tags = None self.description = None self.userData = None self.storageLocation = None self.appId = None self.workflowId = None def setFilePath(self, filePath, title=None, fileExt=None): if fileExt is None: fileExt = VideoUtils.getFileExtension(filePath) if not fileExt: raise VideoException( 'ParameterError', 'InvalidParameter', 'filePath has no Extension') fileExt = fileExt.lstrip('.') self.imageExt = fileExt self.mediaExt = fileExt self.filePath = VideoUtils.toUnicode(filePath) briefPath, briefName = VideoUtils.getFileBriefPath(self.filePath) self.fileName = briefPath if fileExt and (not self.fileName.endswith('.' + fileExt)): self.fileName = self.fileName + '.' + fileExt if title: self.title = title else: if self.title is None: self.title = briefName def setImageType(self, imageType): self.imageType = imageType def setTitle(self, title): self.title = title def setCateId(self, cateId): self.cateId = cateId def setTags(self, tags): self.tags = tags def setDescription(self, description): self.description = description def setStorageLocation(self, storageLocation): self.storageLocation = storageLocation def setUserData(self, userData): self.userData = userData def setAppId(self, appId): self.appId = appId def setWorkflowId(self, workflowId): self.workflowId = workflowId