from entity.VideoEntity import Video from common.Utils import getSession from sqlalchemy import update class VideoService: def queryOneByVideoId(videoId): session = getSession() video = session.query(Video).filter( Video.videoId == videoId).one_or_none() session.close() return video def queryAllbyChannelId(channelId): session = getSession() videos = session.query(Video).filter( Video.channelId == channelId).all() session.close() return videos def insertOne(videoId, channelId, videoTitle, videoLen, videoType, videoPublishTime, videoLanguage, isDownload): session = getSession() video: Video = Video(videoId=videoId, channelId=channelId, videoTitle=videoTitle, videoLen=videoLen, videoType=videoType, videoPublishTime=videoPublishTime, videoLanguage=videoLanguage, isDownload=isDownload) session.add(video) session.commit() session.close() def updateLenByVideoId(videoId, videoLen): session = getSession() updateSql = update(Video).where( Video.videoId == videoId).values(videoLen=videoLen) resutl = session.execute(updateSql) session.commit() session.close() def getLastVideoByChannelId(channelId): session = getSession() video: Video = session.query(Video).where( Video.channelId == channelId).order_by(Video.videoPublishTime.desc()).first() session.close() return video def upIsDownloadByVideoId(videoId, isDownload): session = getSession() updateSql = update(Video).where( Video.videoId == videoId).values(isDownload=isDownload) resutl = session.execute(updateSql) session.commit() session.close()