Ejemplo n.º 1
0
def UpdateData(movie_id, movie_name, movie_url, movie_image, movie_director,
               movie_author, movie_actor, movie_country, movie_date_published,
               movie_genre, movie_duration, movie_description,
               movie_rate_details, movie_rate_number, movie_imdb):
    """
    更新电影信息
    :param movie_id: 电影编号
    :param movie_name: 电影名称
    :param movie_url: 电影豆瓣链接地址
    :param movie_image: 电影海报
    :param movie_director: 导演
    :param movie_author: 编剧
    :param movie_actor: 演员
    :param movie_country: 电影制作国
    :param movie_date_published: 发布日期
    :param movie_genre: 类型
    :param movie_duration: 时长
    :param movie_description: 描述
    :param movie_rate_details: 评分详情
    :param movie_rate_number: 评分数量
    :param movie_imdb: imdb链接
    :return: 成功返回True,失败返回False
    """
    try:
        update = MovieInfoTable.update().values(name=movie_name,
                                                url=movie_url,
                                                image=movie_image,
                                                director=movie_director,
                                                author=movie_author,
                                                actor=movie_actor,
                                                country=movie_country,
                                                datePublished=movie_date_published,
                                                genre=movie_genre,
                                                duration=movie_duration,
                                                description=movie_description,
                                                rateDetails=movie_rate_details,
                                                rateNumber=movie_rate_number,
                                                imdb=movie_imdb). \
            where(MovieInfoTable.c.id == movie_id)

        engine.execute(update)
        return True
    except:
        logging.error(
            "[sqlerror] MovieInfoTable update data error!\n{}".format(
                traceback.format_exc()))
        return False
Ejemplo n.º 2
0
def UpdateData(movie_id, movie_title, movie_url):
    """
    更新电影信息
    :param movie_id: 电影编号
    :param movie_title: 电影名称
    :param movie_url: 电影链接地址
    :return: 成功返回True,失败返回False
    """
    try:
        update = MovieLinksTable.update().values(title=movie_title, url=movie_url). \
            where(MovieLinksTable.c.id == movie_id)

        engine.execute(update)
        return True
    except:
        logging.error(
            "[sqlerror] MovieLinksTable update data error!\n{}".format(
                traceback.format_exc()))
        return False
Ejemplo n.º 3
0
def InsertData(movie_id, movie_title, movie_url):
    """
    插入电影信息
    :param movie_id: 电影编号
    :param movie_title: 电影名称
    :param movie_url: 电影链接地址
    :return: 成功返回True,失败返回False
    """
    try:
        isExist = FetchData(movie_id)
        if isExist:
            return UpdateData(movie_id, movie_title, movie_url)

        insert = MovieLinksTable.insert().values(id=movie_id,
                                                 title=movie_title,
                                                 url=movie_url)
        engine.execute(insert)
        return True
    except:
        logging.error("[sqlerror] MovieLinksTable insert error!\n{}".format(
            traceback.format_exc()))
        return False
Ejemplo n.º 4
0
def FetchData(movie_id):
    """
    根据电影编号查找电影链接信息
    :param movie_id: 电影ID
    :return: 成功返回电影信息,失败返回None
    """
    try:
        fetch = select([MovieInfoTable]). \
            where(MovieInfoTable.c.id == movie_id)
        return engine.execute(fetch).fetchall()
    except:
        logging.error("[sqlerror] MovieInfoTable fetch data error!\n{}".format(
            traceback.format_exc()))
        return None
Ejemplo n.º 5
0
def GetAllNotParseMovieInfo():
    """
    获取表中所有电影的id
    :return: 所有电影的id
    """
    from SqlManager import DoubanMovieInfoSqlManager
    DoubanMovieInfoSqlManager.StartDB()
    try:
        fetch = select([MovieLinksTable]). \
                    where(~MovieLinksTable.c.id.in_(select([DoubanMovieInfoSqlManager.MovieInfoTable.c.id])))
        return engine.execute(fetch).fetchall()
    except:
        logging.error(
            "[sqlerror] MovieLinksTable get all movie id error!\n{}".format(
                traceback.format_exc()))
        return None
Ejemplo n.º 6
0
def InsertData(movie_id, movie_name, movie_url, movie_image, movie_director,
               movie_author, movie_actor, movie_country, movie_date_published,
               movie_genre, movie_duration, movie_description,
               movie_rate_details, movie_rate_number, movie_imdb):
    """
    插入电影信息
    :param movie_id: 电影编号
    :param movie_name: 电影名称
    :param movie_url: 电影豆瓣链接地址
    :param movie_image: 电影海报
    :param movie_director: 导演
    :param movie_author: 编剧
    :param movie_actor: 演员
    :param movie_country: 电影制作国
    :param movie_date_published: 发布日期
    :param movie_genre: 类型
    :param movie_duration: 时长
    :param movie_description: 描述
    :param movie_rate_details: 评分详情
    :param movie_rate_number: 评分个数
    :param movie_imdb: imdb链接
    :return: 成功返回True,失败返回False
    """
    try:
        isExist = FetchData(movie_id)
        if isExist:
            return UpdateData(movie_id=movie_id,
                              movie_name=movie_name,
                              movie_url=movie_url,
                              movie_image=movie_image,
                              movie_director=movie_director,
                              movie_author=movie_author,
                              movie_actor=movie_actor,
                              movie_country=movie_country,
                              movie_date_published=movie_date_published,
                              movie_genre=movie_genre,
                              movie_duration=movie_duration,
                              movie_description=movie_description,
                              movie_rate_details=movie_rate_details,
                              movie_rate_number=movie_rate_number,
                              movie_imdb=movie_imdb)

        insert = MovieInfoTable.insert().values(
            id=movie_id,
            name=movie_name,
            url=movie_url,
            image=movie_image,
            director=movie_director,
            author=movie_author,
            actor=movie_actor,
            country=movie_country,
            datePublished=movie_date_published,
            genre=movie_genre,
            duration=movie_duration,
            description=movie_description,
            rateDetails=movie_rate_details,
            rateNumber=movie_rate_number,
            imdb=movie_imdb)
        engine.execute(insert)
        return True
    except:
        logging.error("[sqlerror] MovieInfoTable insert error!\n{}".format(
            traceback.format_exc()))
        return False