def save_index_data(idt):
    if isinstance(idt, IDT):
        today = datetime.date.today()
        sdt = SDT.objects(date=today)
        if not sdt:
            return

        exists_data = IDT.objects(Q(date=today) & Q(index_number=idt.index_number))
        if exists_data:
            return

        try:
            idt.save()
        except Exception, e:
            logging.error('Error when save market index data:' + str(e))
def save_index_data(idt):
    if isinstance(idt, IDT):
        today = datetime.date.today()
        sdt = SDT.objects(date=today)
        if not sdt:
            return

        exists_data = IDT.objects(
            Q(date=today) & Q(index_number=idt.index_number))
        if exists_data:
            return

        try:
            idt.save()
        except Exception as e:
            logging.error('Error when save market index data:' + str(e))
def collect_index_trading():
    index_data = request_data(market_index)
    for i in index_data:
        item_li = i.split(',')
        idt = IDT()
        idt.index_number = item_li[1]
        idt.index_name = item_li[2]
        idt.yesterday_closed_point = float(item_li[3])
        idt.today_opening_point = float(item_li[4])
        idt.today_closing_point = float(item_li[5])
        idt.today_highest_point = float(item_li[6])
        idt.today_lowest_point = float(item_li[7])
        idt.turnover_amount = int(item_li[8])
        idt.turnover_volume = int(item_li[9])
        idt.increase_point = float(item_li[10])
        idt.increase_rate = item_li[11]

        save_index_data(idt)
def collect_index_trading():
    index_data = request_data(market_index)
    for i in index_data:
        item_li = i.split(',')
        idt = IDT()
        idt.index_number = item_li[1]
        idt.index_name = item_li[2]
        idt.yesterday_closed_point = float(item_li[3])
        idt.today_opening_point = float(item_li[4])
        idt.today_closing_point = float(item_li[5])
        idt.today_highest_point = float(item_li[6])
        idt.today_lowest_point = float(item_li[7])
        idt.turnover_amount = int(item_li[8])
        idt.turnover_volume = int(item_li[9])
        idt.increase_point = float(item_li[10])
        idt.increase_rate = item_li[11]

        save_index_data(idt)