utils.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os, sys
  4. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  5. sys.path.insert(0, PROJECT_ROOT)
  6. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'configs.production')
  7. from apps.web.device.models import Device
  8. from script.device_upgrade import DeviceUpgradeLog
  9. def translate_driver_code(driver_code):
  10. if driver_code == '100205':
  11. return '100210'
  12. return driver_code
  13. def valid_code(driver_code, registerd_code):
  14. if driver_code == '100205' or driver_code == '100210':
  15. if registerd_code not in ['100205', '100210']:
  16. return False
  17. else:
  18. return True
  19. return driver_code == registerd_code
  20. def update_device_upgrade_status():
  21. items = DeviceUpgradeLog.objects(
  22. status__in = [DeviceUpgradeLog.Status.RUNNING, DeviceUpgradeLog.Status.UPGRADED,
  23. DeviceUpgradeLog.Status.FAILURE])
  24. for item in items: # type:DeviceUpgradeLog
  25. dev = Device.get_dev(item.devNo)
  26. if dev['softVer'] == item.afterSoftVer:
  27. print '{} upgrade success.'.format(item.devNo)
  28. item.set_stauts(DeviceUpgradeLog.Status.SUCCESS)
  29. item.save()
  30. update_device_upgrade_status()