# -*- coding: utf-8 -*- # !/usr/bin/env python import datetime import os import sys from collections import OrderedDict PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..') sys.path.insert(0, PROJECT_ROOT) from script.base import init_env os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.production"}) init_env(interactive = False) from apps.web.device.models import SIMCard from apps.web.core.utils import generate_excel_report read_file_path = sys.argv[1] save_path = sys.argv[2] iccid_list = [] with open(read_file_path) as f: data = f.read().split() iccid_list = [item for item in data] simcards = [] for iccid in iccid_list: simcard = SIMCard.objects(__raw__ = {'iccid': {'$regex': iccid, '$options': 'i'}}).first() if not simcard: print('iccid<{}> is not exist.'.format(iccid)) simcards.append(SIMCard(iccid = iccid)) else: simcards.append(simcard) records = [] for simcard in simcards: # type: SIMCard dataList = [ (u'iccid', simcard.iccid), (u'imsi', simcard.imsi), (u'supplier', simcard.supplier), (u'expireTime', simcard.expireTime.strftime("%Y-%m-%d") if simcard.expireTime else ''), (u'activeTime', simcard.activeTime.strftime("%Y-%m-%d") if simcard.activeTime else '') ] if simcard.expireTime: if simcard.expireTime.strftime("%Y-%m-%d") > '2020-04-15': dataList.append((u'status', u'能续费')) else: dataList.append((u'status', u'不能续费')) else: dataList.append((u'status', u'待定')) records.append(OrderedDict(dataList)) generate_excel_report('{}/sim_card.xlsx'.format(save_path), records, localSave = True)