"""
@author: luojunhui
mysql 方法
"""
import json

import pymysql


def select(sql):
    """
    查询
    :param sql:
    :return:
    """
    connection = pymysql.connect(
        host="rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com",  # 数据库IP地址,内网地址
        port=3306,  # 端口号
        user="crawler",  # mysql用户名
        passwd="crawler123456@",  # mysql用户登录密码
        db="piaoquan-crawler",  # 数据库名
        charset="utf8mb4"  # 如果数据库里面的文本是utf8编码的,charset指定是utf8
    )
    cursor = connection.cursor()
    cursor.execute(sql)
    data = cursor.fetchall()
    return data


def select_pq_videos():
    """
    查询
    :return: info_list
    """
    connection = pymysql.connect(
        host="rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com",  # 数据库IP地址,内网地址
        port=3306,  # 端口号
        user="wx2016_longvideo",  # mysql用户名
        passwd="wx2016_longvideoP@assword1234",  # mysql用户登录密码
        db="incentive",  # 数据库名
        charset="utf8mb4"  # 如果数据库里面的文本是utf8编码的,charset指定是utf8
    )
    sql = "select video_id, key_words, search_keys, extra_keys from video_content"
    cursor = connection.cursor()
    cursor.execute(sql)
    data = cursor.fetchall()
    result = [
        {
            "video_id": line[0],
            "key_words": json.loads(line[1]),
            "search_keys": json.loads(line[2]),
            "extra_keys": json.loads(line[3]),
        }
        for line in data
    ]
    return result


def select_sensitive_words():
    """
    sensitive words
    :return:
    """
    connection = pymysql.connect(
        host="rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com",  # 数据库IP地址,内网地址
        port=3306,  # 端口号
        user="wx2016_longvideo",  # mysql用户名
        passwd="wx2016_longvideoP@assword1234",  # mysql用户登录密码
        db="longvideo",  # 数据库名
        charset="utf8mb4"  # 如果数据库里面的文本是utf8编码的,charset指定是utf8
    )
    sql = "select `keyword` from wx_sensitive_word where `data_status` = 0"
    cursor = connection.cursor()
    cursor.execute(sql)
    data = cursor.fetchall()
    result = [line[0] for line in data]
    return result