import time
import pymysql
import random
import traceback
from log_settings import *
import logging
from auto_request import login, click, time_conv
from auto_request import host, user, db, passwd


def get_data(numtime, numtime2):
    try:
        pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306)
        cursor = pc.cursor()
        logging.info("get numtime:%s" % numtime)
        logging.info("get numtime2:%s" % numtime2)
        cursor.execute(
            "SELECT  user_id,id FROM topic WHERE is_online=1  and (create_time >= '%s' and create_time <= '%s')" % (
            numtime, numtime2))
        data = cursor.fetchall()
        topic_id = list(data)
        topic_id_list = []
        logging.info("get topic_id:%s" % topic_id)
        try:
            for i in topic_id and topic_id:
                cursor.execute(
                    "select user_id from user_extra where user_id =" + str(i[0]) + " and is_shadow =0")
                data = cursor.fetchall()
                user_id = list(data)
                if user_id:
                    topic_id_list.append(i)
            logging.info("Database version : %s " % topic_id_list)
            pc.close()
        except:
            pass
        return topic_id_list
    except:
        logging.error("catch exception,get_data:%s" % traceback.format_exc())
        return []


if __name__ == "__main__":
    try:
        logging.info("click four")
        numtime, numtime2 = time_conv(47,37)
        user_id = get_data(numtime, numtime2)
        dicts = {}
        for i in user_id:
            rand_num =random.randint(0,1)
            if rand_num == 1:
                cook = login()
                if cook is not None:
                    click(cook, i[1])
    except:
        logging.error("catch exception,main:%s" % traceback.format_exc())