#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import openpyxl
from django.core.management.base import BaseCommand

from gm_types.gaia import DIARY_CONTENT_LEVEL

from talos.models.diary import Diary


def read_from_file(path):
    re_data = set()
    sheet_name = 'Sheet1'
    file_name = path + 'change_diary_content_level_ids.xlsx'

    wb = openpyxl.load_workbook(file_name)
    data_sheet = wb[sheet_name]
    for i, row in enumerate(data_sheet.rows):
        if i and row[0].value:
            re_data.add(int(row[0].value))

    return list(re_data)


class Command(BaseCommand):

    def handle(self, *args, **options):

        print("BEGIN")

        parent_path = os.path.dirname(os.path.dirname(__file__))

        path = parent_path + '/files/'  # 文件上传地址确定
        diary_ids = read_from_file(path)

        Diary.objects.filter(pk__in=diary_ids, is_online=True).update(content_level=DIARY_CONTENT_LEVEL.BETTER)

        print("END")