瀏覽代碼

好看的放上边

yf_fyh 2 年之前
父節點
當前提交
e168c77947
共有 1 個文件被更改,包括 49 次插入49 次删除
  1. 49 49
      utils/utils.py

+ 49 - 49
utils/utils.py

@@ -6,6 +6,55 @@ from requests.auth import HTTPBasicAuth
 import asyncio
 
 
+class DeviceInfoUtils(object):
+    """
+    跨平台异步获取设备信息,调用实例化本类中的get_equip_list()
+    :param d_id: 设备号
+    :param isfullId:0模糊匹配,1表示完整设备号匹配
+    :return:列表数据,相同设备号放一起,并且最近更新数据靠前,最近更新数据可认为设备最后所在平台
+    """
+    def get_resp(self, url, params):
+        try:
+            res = requests.post(url=url,data=params,timeout=10)
+            res_dict = json.loads(res.content.decode())
+        except:
+            res_dict = {}
+        return res_dict
+
+    async def plat_device_info(self, url, data):
+        # loop = asyncio.new_event_loop()
+        # asyncio.set_event_loop(loop)
+        loop = asyncio.get_event_loop()
+        res = await loop.run_in_executor(None, self.get_resp, url, data)
+        return res
+
+    def get_equip_list(self, d_id, isfullId=0):
+        bd_url = "http://127.0.0.1:8002/search/equip"
+        sq_url = "http://172.16.220.3/search/equip"
+        
+        if isfullId == 1:
+            data = {"device_id": d_id, "isfullId": "1"}
+        else:
+            data = {"device_id": d_id}
+
+        loop = asyncio.new_event_loop()
+        asyncio.set_event_loop(loop)
+        loop = asyncio.get_event_loop()
+        bd_task = loop.create_task(self.plat_device_info(bd_url, data))
+        sq_task = loop.create_task(self.plat_device_info(sq_url, data))
+        bd_dict = loop.run_until_complete(bd_task)
+        sq_dict = loop.run_until_complete(sq_task)
+        loop.close()
+        bd_data = bd_dict.get("data", [])
+        sq_data = sq_dict.get("data", [])
+        data = []
+        data.extend(bd_data)
+        data.extend(sq_data)
+        data = sorted(data, key=lambda e: e.__getitem__('uptime'), reverse=True)
+        data = sorted(data, key=lambda e: e.__getitem__('device_id'), reverse=True)
+        return data
+
+
 class GetSIMInfo(object):
     """
     自定义获取SIM卡对应卡商及数据
@@ -110,52 +159,3 @@ class GetSIMInfo(object):
                 data_balance = "未知"
                 expiry_date = "未知"
         return sim_operators,account_status,active_date,data_plan,data_usage,data_balance,expiry_date
-
-
-class DeviceInfoUtils(object):
-    """
-    跨平台异步获取设备信息,调用实例化本类中的get_equip_list()
-    :param d_id: 设备号
-    :param isfullId:0模糊匹配,1表示完整设备号匹配
-    :return:列表数据,相同设备号放一起,并且最近更新数据靠前,最近更新数据可认为设备最后所在平台
-    """
-    def get_resp(self, url, params):
-        try:
-            res = requests.post(url=url,data=params,timeout=10)
-            res_dict = json.loads(res.content.decode())
-        except:
-            res_dict = {}
-        return res_dict
-
-    async def plat_device_info(self, url, data):
-        # loop = asyncio.new_event_loop()
-        # asyncio.set_event_loop(loop)
-        loop = asyncio.get_event_loop()
-        res = await loop.run_in_executor(None, self.get_resp, url, data)
-        return res
-
-    def get_equip_list(self, d_id, isfullId=0):
-        bd_url = "http://127.0.0.1:8002/search/equip"
-        sq_url = "http://172.16.220.3/search/equip"
-        
-        if isfullId == 1:
-            data = {"device_id": d_id, "isfullId": "1"}
-        else:
-            data = {"device_id": d_id}
-
-        loop = asyncio.new_event_loop()
-        asyncio.set_event_loop(loop)
-        loop = asyncio.get_event_loop()
-        bd_task = loop.create_task(self.plat_device_info(bd_url, data))
-        sq_task = loop.create_task(self.plat_device_info(sq_url, data))
-        bd_dict = loop.run_until_complete(bd_task)
-        sq_dict = loop.run_until_complete(sq_task)
-        loop.close()
-        bd_data = bd_dict.get("data", [])
-        sq_data = sq_dict.get("data", [])
-        data = []
-        data.extend(bd_data)
-        data.extend(sq_data)
-        data = sorted(data, key=lambda e: e.__getitem__('uptime'), reverse=True)
-        data = sorted(data, key=lambda e: e.__getitem__('device_id'), reverse=True)
-        return data