find_store_sim_card.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import datetime
  4. import os
  5. import sys
  6. from collections import OrderedDict
  7. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  8. sys.path.insert(0, PROJECT_ROOT)
  9. from script.base import init_env
  10. os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.production"})
  11. init_env(interactive = False)
  12. from apps.web.device.models import SIMCard
  13. from apps.web.core.utils import generate_excel_report
  14. read_file_path = sys.argv[1]
  15. save_path = sys.argv[2]
  16. iccid_list = []
  17. with open(read_file_path) as f:
  18. data = f.read().split()
  19. iccid_list = [item for item in data]
  20. simcards = []
  21. for iccid in iccid_list:
  22. simcard = SIMCard.objects(__raw__ = {'iccid': {'$regex': iccid, '$options': 'i'}}).first()
  23. if not simcard:
  24. print('iccid<{}> is not exist.'.format(iccid))
  25. simcards.append(SIMCard(iccid = iccid))
  26. else:
  27. simcards.append(simcard)
  28. records = []
  29. for simcard in simcards: # type: SIMCard
  30. dataList = [
  31. (u'iccid', simcard.iccid),
  32. (u'imsi', simcard.imsi),
  33. (u'supplier', simcard.supplier),
  34. (u'expireTime', simcard.expireTime.strftime("%Y-%m-%d") if simcard.expireTime else ''),
  35. (u'activeTime', simcard.activeTime.strftime("%Y-%m-%d") if simcard.activeTime else '')
  36. ]
  37. if simcard.expireTime:
  38. if simcard.expireTime.strftime("%Y-%m-%d") > '2020-04-15':
  39. dataList.append((u'status', u'能续费'))
  40. else:
  41. dataList.append((u'status', u'不能续费'))
  42. else:
  43. dataList.append((u'status', u'待定'))
  44. records.append(OrderedDict(dataList))
  45. generate_excel_report('{}/sim_card.xlsx'.format(save_path), records, localSave = True)