# -*- coding: UTF-8 -*-

import pymysql
import random
import threading
import traceback
import logging
from celery import shared_task
from django.conf import settings
from majia.get_session import get_comments, click, login
from majia.get_session import host, user, passwd, db

exec_count = 0


def auto_click(pk_list):
    logging.info("get----------------------:%s" % pk_list)
    exec_count = 0
    try:
        pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306)
        cursor = pc.cursor()
        cursor.execute(
            "SELECT id,user_id FROM topic WHERE id  in  " + str(
                tuple(pk_list)) + "  and user_id in (select user_id from user_extra  where is_shadow = 0)")
        data = cursor.fetchall()
        topic_id_list = list(data)
        logging.info("Database version : %s " % topic_id_list)
        pc.close()
        exec_count = 0
        if topic_id_list:

            def fun_timer():
                cookies = login()
                if cookies:
                    click(cookies, topic_id_list[0])

                global timer
                global exec_count

                exec_count += 1
                if exec_count == 1:
                    # sleep_time = random.randint(300, 540)
                    sleep_time = 30
                    timer = threading.Timer(sleep_time, fun_timer)
                    timer.start()

                if exec_count == 2:
                    # sleep_time = random.randint(1000, 1900)
                    sleep_time = 50
                    timer = threading.Timer(sleep_time, fun_timer)
                    timer.start()

            sleep_time = random.randint(300, 540)
            timer = threading.Timer(10, fun_timer)  # 首次启动
            timer.start()

        else:
            pass
    except:
        logging.error("catch exception,main:%s" % traceback.format_exc())


def auto_reply(pk_list):
    logging.info("get----------------------:%s" % pk_list)

    # exec_count = 0
    # try:
    #     pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306)
    #     cursor = pc.cursor()
    #     cursor.execute(
    #         "SELECT id,user_id FROM topic WHERE id in  " + str(
    #             tuple(pk_list)) + " and user_id in (select user_id from user_extra  where is_shadow = 0)")
    #     data = cursor.fetchall()
    #     topic_id_list = list(data)
    #     logging.info("Database version : %s " % topic_id_list)
    #     pc.close()
    #     exec_count = 0
    #     if topic_id_list:
    #
    #         def fun_comment():
    #             cookies = login()
    #             if cookies:
    #                 comment_content = get_comments()
    #                 comment = comment_content[0]
    #                 reply(cookies, topic_id_list[0], comment)
    #
    #             global timer
    #             global exec_count
    #
    #             exec_count += 1
    #             if exec_count == 1:
    #                 sleep_time = random.randint(300, 540)
    #                 sleep_time = 30
    #                 timer = threading.Timer(sleep_time, fun_comment)
    #                 timer.start()
    #
    #             if exec_count == 2:
    #                 sleep_time = random.randint(1000, 1900)
    #                 sleep_time = 30
    #                 timer = threading.Timer(sleep_time, fun_comment)
    #                 timer.start()
    #
    #         sleep_time = random.randint(300, 540)
    #         timer = threading.Timer(10, fun_comment)  # 首次启动
    #         timer.start()
    #
    #
    # except:
    #     logging.error("catch exception,main:%s" % traceback.format_exc())


@shared_task
def auto_majia_effect(pk_list):
    auto_click(pk_list)
    auto_reply(pk_list)