123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- # -*- coding: utf-8 -*-
- #!/usr/bin/env python
- """
- 引入基本库
- os: 操作系统模块
- sys: 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。它始终可用。
- """
- import os
- import sys
- """
- 设置正确路径
- os.path.join(route1,route2,route3...): 链接字符串变为路径-> route1/route2/route3/...
- os.path.abspath(file): 获得当前文件的绝对路径
- os.path.split(route): 按照路径将文件名和路径分割开 [0]-> 第一个文件名
- os.path.realpath(__file__): 获得__file__的标准路径 __file__ -> 当前文件的完整绝对路径
- sys.path.insert(0, route)这样新添加的目录会优先于其他目录被import检查
- """
- 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, get_logger
- init_env(interactive=True)
- logger = get_logger(__name__)
- from apps.web.device.models import Device
- class DevUtils(object):
- # 通过logicalCode解注册
- @classmethod
- def un_reg_by_l(cls, l):
- d = Device.get_dev_by_logicalCode(l)
- assert d is not None, 'cache is not found, logicalCode=%s' % l
- status = Device.un_register(d)
- assert status, 'device un_register failed'
- Device.invalid_device_cache(d['devNo'])
- logger.info('logicalCode=%s has been un_registered.' % l)
- # 通过imei解注册
- @classmethod
- def un_reg_by_i(cls, i):
- d = Device.get_dev(i)
- assert d is not None, 'cache is not found, devNo=%s' % i
- status = Device.un_register(d)
- assert status, 'device un_register failed'
- Device.invalid_device_cache(d['devNo'])
- logger.info('devNo=%s has been un_registered.' % i)
- # 通过logicalCode列表解注册
- @classmethod
- def un_reg_by_ls(cls, arr):
- for _ in arr:
- try:
- d = Device.get_dev_by_logicalCode(_)
- Device.un_register(d)
- Device.invalid_device_cache(d['devNo'])
- except Exception, e:
- logger.error('device un_register failed. e=%s' % e)
- logger.info('logicalCode list=%s has been un_registered.' % arr)
- # 通过imei列表解注册
- @classmethod
- def un_reg_by_is(cls, arr):
- for _ in arr:
- try:
- d = Device.get_dev(_)
- Device.un_register(d)
- Device.invalid_device_cache(d['devNo'])
- except Exception, e:
- logger.error('device un_register failed. e=%s' % e)
- logger.info('devNo list=%s has been un_registered.' % arr)
- if __name__ == '__main__':
- # 使用的时候用类调用
- pass
|