#!/usr/bin/env python
# coding:utf-8
import n01_anhui ,n03_beijing ,n04_shenzhen,n05_sichuan,n06_jiangsu,n07_zhejiang ,n08_fujian,n09_shandong,n10_guangdong ,n11_guangxi,n12_hebei,n13_liaoning ,n14_heilongjiang ,n15_jilin ,n16_gansu,n17_qinhai,n18_henan,n19_hubei,n20_hunnan,n21_jiangxi,n22_yunnan,n23_hainan,n24_shanxi ,n25_shanxi,n26_guizhou ,n27_neimenggu  ,n28_ningxia ,n29_xizang,n33_shanghai #,n30_xj,n31_tj,n32_cq,n33_sh
from mongo_cho import myco1,myco2,myco3,myco4,myco5,myco6,myco7,myco8,myco9,myco10,myco11,myco12,myco13,myco14,myco15,myco16,myco17,myco18,myco19,myco20,myco21,myco22,myco23,myco24,myco25,myco26,myco27,myco28,myco29,myco30,myco31,myco32,myco33
from mongo_cho import r_myco15,mycoup,myco1_b,myco3_b,myco5_b,myco7_b,myco10_b,myco13_b,myco14_b,myco15_b,myco16_b,myco21_b,myco23_b,myco25_b,myco27_b,myco28_b
import arrow


class Mg_upd():
    def __init__(self):
        sfmth = arrow.now()
        self.mon = int(sfmth.month) - 1
        self.yea = int(sfmth.year)

    def se_ms(self,dsbh):
        a = mycoup.find({"dsbh":dsbh})
        for i in a:
            return i

    def up_ms(self,dsbh,emon):
        myquery = {"dsbh": dsbh}
        newv = {"$set": {"emon":str(emon)}}
        mycoup.update_one(myquery, newv)
        print('>>>update OK')

    def n_01(self):
        rpg = n01_anhui.get_ny()
        print(rpg)
        ny_rsd = self.se_ms('n01')
        year = '2021年'
        lpg = int(ny_rsd['emon'])
        tpg = int(rpg) + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue,year)
            n01_anhui.r1(searhvalue, year)
            self.up_ms('n01', i)

    def n_03(self):
        ny_rsd = self.se_ms('n03')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue,year)
            n03_beijing.runs(year, i)
            self.up_ms('n03', i)

    def n_04(self):
        ny_rsd = self.se_ms('n04')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue,year)
            n04_shenzhen.runs(year, i) ##
            self.up_ms('n04', i)

    def n_06(self):
        ny_rsd = self.se_ms('n06')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n06_jiangsu.runs(year, i)  ##
            self.up_ms('n06', i)

    def n_07(self):
        ny_rsd = self.se_ms('n07')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n07_zhejiang.runs(year, i)  ##
            self.up_ms('n07', i)

    def n_08(self):
        ##如遇到当月确实无数据,需手动去ups增加一个月
        ny_rsd = self.se_ms('n08')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            etf = n08_fujian.runs(year, i)  ##
            if etf == 'er1':
                self.up_ms('n08', i)
                return
            self.up_ms('n08', i)

    def n_09(self):
        ny_rsd = self.se_ms('n09')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n09_shandong.runs(year, i)  ##
            self.up_ms('n09', i)

    def n_10(self):
        ny_rsd = self.se_ms('n10')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n10_guangdong.runs(year, i)  ##
            self.up_ms('n10', i)

    def n_11(self):
        ny_rsd = self.se_ms('n11')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n11_guangxi.runs(year, i)  ##
            self.up_ms('n11', i)

    def n_12(self):
        ny_rsd = self.se_ms('n12')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n12_hebei.runs(year, i)  ##
            self.up_ms('n12', i)

    def n_13(self):
        ny_rsd = self.se_ms('n13')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n13_liaoning.runs(year, i)  ##
            self.up_ms('n13', i)

    def n_14(self):
        ny_rsd = self.se_ms('n14')
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue)
            n14_heilongjiang.runs(i)  ##
            self.up_ms('n14', i)

    def n_15(self):
        ny_rsd = self.se_ms('n15')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue)
            n15_jilin.runs(year, i)  ##
            self.up_ms('n15', i)

    def n_16(self):
        ny_rsd = self.se_ms('n16')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        if self.mon in [1,2,3]:
            tpg = 2
        elif self.mon in [4,5,6]:
            tpg = 3
        elif self.mon in [7,8,9]:
            tpg = 4
        else:
            tpg = 5
        for i in range(lpg, tpg):
            searhvalue = '{}季度'.format(i)
            print(searhvalue)
            n16_gansu.r1(year, i)  ##
            self.up_ms('n16', i)

    def n_17(self):
        year = self.yea
        n17_qinhai.runs(year)

    def n_18(self):
        n18_henan.runs()
    
    def n_19(self):
        ny_rsd = self.se_ms('n19')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue)
            n19_hubei.runs(year, i)  ##
            self.up_ms('n19', i)

    def n_20(self):
        ny_rsd = self.se_ms('n20')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        if self.mon in [1,2,3]:
            tpg = 2
        elif self.mon in [4,5,6]:
            tpg = 3
        elif self.mon in [7,8,9]:
            tpg = 4
        else:
            tpg = 5
        for i in range(lpg, tpg):
            searhvalue = '{}季度'.format(i)
            print(searhvalue)
            n20_hunnan.runs(year, i)  ##
            self.up_ms('n20', i)

    def n_21(self):
        n21_jiangxi.runs()

    def n_22(self):
        ny_rsd = self.se_ms('n22')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n22_yunnan.runs(year, i)  ##
            self.up_ms('n22', i)

    def n_23(self):
        ny_rsd = self.se_ms('n23')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n23_hainan.runs(year, i)  ##
            self.up_ms('n23', i)

    def n_24(self):
        ny_rsd = self.se_ms('n24')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n24_shanxi.runs(year, i)  ##
            self.up_ms('n24', i)

    def n_25(self):
        ny_rsd = self.se_ms('n25')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n25_shanxi.runs(year, i)  ##
            self.up_ms('n25', i)

    def n_26(self):
        ny_rsd = self.se_ms('n26')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n26_guizhou.runs(year, i)  ##
            self.up_ms('n26', i)

    def n_27(self):
        n27_neimenggu.r1()

    def n_28(self):
        ny_rsd = self.se_ms('n28')
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue)
            n28_ningxia.runs(i)  ##
            self.up_ms('n28', i)

    def n_29(self):
        n29_xizang.runs()

    def n_33(self):
        ny_rsd = self.se_ms('n33')
        year = self.yea
        lpg = int(ny_rsd['emon'])
        tpg = self.mon + 1
        for i in range(lpg, tpg):
            searhvalue = '{}月'.format(i)
            print(searhvalue, year)
            n33_shanghai.runs(year, i)  ##
            self.up_ms('n33', i)

    def qidong(self):
        self.n_01()
        print('n1--ok-----')
        self.n_03()
        print('n3--ok-----')
        self.n_04()
        print('n4--ok-----')
        self.n_06()
        print('n6--ok-----')
        self.n_07()
        print('n7--ok-----')
        self.n_08()
        print('n8--ok-----')
        self.n_09()
        print('n9--ok-----')
        self.n_10()
        print('n10--ok-----')
        self.n_11()
        print('n11--ok-----')
        self.n_12()
        print('n12--ok-----') #需更换cookie
        self.n_14()
        print('n14--ok-----')
        self.n_15()
        print('n15--ok-----')
        self.n_16()
        print('n16--ok-----')
        self.n_17()
        print('n17--ok-----')
        self.n_18()
        print('n18--ok-----')
        self.n_19()
        print('n19--ok-----')
        self.n_20()
        print('n20--ok-----')
        self.n_21()
        print('n21--ok-----')
        self.n_22()
        print('n22--ok-----')
        self.n_23()
        print('n23--ok-----')
        self.n_24()
        print('n24--ok-----')
        self.n_25()
        print('n25--ok-----')  #更新cookie
        self.n_26()
        print('n26--ok-----')
        self.n_27()
        print('n27--ok-----')
        self.n_28()
        print('n28--ok-----')
        self.n_29()
        print('n29--ok-----')
        self.n_33()
        print('n33--ok-----')

# d1 = {"dsbh":"n13","eyear":"2021","emon":"4"}
# mycoup.insert_one(d1)
qd = Mg_upd()
# qd.qidong()

##删除错误url
def mong_del():
    a = myco10.find()
    num = 0
    for i in a:
        num +=1
        print(num)
        tf = i['uid']
        if tf == "#pageIndex":
            dlc = {"uid": "#pageIndex"}
            myco10.delete_one(dlc)

#url uid去重
class del_rpt():
    def __init__(self):
        pass
    def cl20_tb(slf):  #必须清除redis n20后方可操作
        a = myco20.find()
        num = 0
        for i in a:
            num += 1
            print(num)
            url = i['id']
            tf = r_myco15.sismember('n20', url)
            if tf:
                dlc = {"id": url}
                myco20.delete_one(dlc)
            else:
                r_myco15.sadd('n20', url)

    def cl23_tb(self):  #必须清除redis n20后方可操作
        a = myco23.find()
        num = 0
        for i in a:
            num += 1
            print(num)
            url = i['url']
            tf = r_myco15.sismember('n23', url)
            if tf:
                dlc = {"url": url}
                myco23.delete_one(dlc)
            else:
                r_myco15.sadd('n23', url)

    def cl24_tb(self):  #必须清除redis n20后方可操作
        a = myco24.find()
        num = 0
        for i in a:
            num += 1
            print(num)
            url = i['ajbh']
            tf = r_myco15.sismember('n24', url)
            if tf:
                dlc = {"ajbh": url}
                myco24.delete_one(dlc)
            else:
                r_myco15.sadd('n24', url)

    def cl28_tb(self):  #必须清除redis n20后方可操作
        a = myco28.find()
        num = 0
        for i in a:
            num += 1
            print(num)
            url = i['url']
            tf = r_myco15.sismember('n28', url)
            if tf:
                dlc = {"ajbh": url}
                myco28.delete_one(dlc)
            else:
                r_myco15.sadd('n28', url)

    def qidong(self):
        pass#理论不需要去重


def cl1():  #未解
    a = myco33.find()
    num = 0
    for i in a:
        num +=1
        print(num)
        print(i)
        # break
        # url = i['uid']
        # url = i['url']
        url = i['djxh']
        r_myco15.sadd('n33',url)

# cl1()


#补录数据
class bulu_mes():
    def __init__(self):
        pass

    def mongo_upd01(self):
        a = myco1_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n01_anhui.r1_d(url, dt)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco1.update_one(myquery,newv)
                myco1_b.update_one(myquery, newv)
                print(rsd)

    def mongo_upd03(self):
        a = myco3_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['uid']
            if tfl == 3:
                dt1 = dt.replace('/','年度') + '月'
                rsd = n03_beijing.r1_d(url, dt1)
                myquery = {"uid":url}
                newv = {"$set":rsd}
                myco3.update_one(myquery,newv)
                myco3_b.update_one(myquery, newv)
                print(rsd)

    def mongo_upd05(self):
        a = myco5_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                # dt1 = dt.replace('/','年度') + '月'
                # rsd = n05_sc.r1_d(url,dt1)
                myquery = {"url":url}
                myco5.delete_one(myquery)
                myco5_b.delete_one(myquery)
                # print(rsd)


    def mongo_upd07(self):
        a = myco7_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n07_zhejiang.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco7.update_one(myquery,newv)
                myco7_b.update_one(myquery, newv)

    def mongo_upd10(self):
        a = myco10_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['uid']
            if tfl == 3:
                rsd = n10_guangdong.r1_d(url, dt)
                print(rsd)
                myquery = {"uid":url}
                newv = {"$set":rsd}
                myco10.update_one(myquery,newv)
                myco10_b.update_one(myquery, newv)

    def mongo_upd13(self):
        a = myco13_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n13_liaoning.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco13.update_one(myquery,newv)
                myco13_b.update_one(myquery, newv)

    def mongo_upd14(self):
        a = myco14_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n14_heilongjiang.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco14.update_one(myquery,newv)
                myco14_b.update_one(myquery, newv)

    def mongo_upd15(self):
        a = myco15_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n15_jilin.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco15.update_one(myquery,newv)
                myco15_b.update_one(myquery, newv)

    def mongo_upd16(self):
        a = myco16_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n16_gansu.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco16.update_one(myquery,newv)
                myco16_b.update_one(myquery, newv)

    def mongo_upd21(self):
        a = myco21_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['uid']
            if tfl == 3:
                print(url,'=====')
                rsd = n21_jiangxi.r2(dt, url)
                print(rsd)
                myquery = {"uid":url}
                newv = {"$set":rsd}
                myco21.update_one(myquery,newv)
                myco21_b.update_one(myquery, newv)

    def mongo_upd23(self):
        a = myco23.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                print(i)
                rsd = n23_hainan.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco23.update_one(myquery,newv)
                myco23_b.update_one(myquery, newv)

    def mongo_upd25(self):
        a = myco25_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n25_shanxi.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco25.update_one(myquery,newv)
                myco25_b.update_one(myquery, newv)

    def mongo_upd27(self):
        a = myco27_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n27_neimenggu.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco27.update_one(myquery,newv)
                myco27_b.update_one(myquery, newv)

    def mongo_upd28(self):
        a = myco28_b.find()
        for i in a:
            tfl = len(i)
            dt = i['date']
            url = i['url']
            if tfl == 3:
                rsd = n28_ningxia.r1_d(url, dt)
                print(rsd)
                myquery = {"url":url}
                newv = {"$set":rsd}
                myco28.update_one(myquery,newv)
                myco28_b.update_one(myquery, newv)

    def qidong(self):
        self.mongo_upd01()
        print('n01-补录-ok=====')
        self.mongo_upd03()
        print('n03-补录-ok=====')
        self.mongo_upd07()
        print('n07-补录-ok=====')
        self.mongo_upd10()
        print('n10-补录-ok=====')
        self.mongo_upd13()
        print('n13-补录-ok=====')
        self.mongo_upd14()
        print('n14-补录-ok=====')
        self.mongo_upd15()
        print('n15-补录-ok=====')
        self.mongo_upd16()
        print('n16-补录-ok=====')
        self.mongo_upd21()
        print('n21-补录-ok=====')
        self.mongo_upd23()
        print('n23-补录-ok=====')
        self.mongo_upd25()
        print('n25-补录-ok=====')
        self.mongo_upd27()
        print('n27-补录-ok=====')
        self.mongo_upd28()
        print('n28-补录-ok=====')
upqd = bulu_mes()
# upqd.qidong()
# upqd.mongo_upd28()
import datetime
# a = myco15.find()
# for i in a:
#     if len(i) == 3:
#         print(i)