| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | #!/usr/bin/env python3# -*- coding: utf-8 -*-"""@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.@AUTHOR: ASJRD018@NAME: AnsjerFormal@software: PyCharm@DATE: 2021/07/06 11:17@Version: python3.6@MODIFY DECORD:ansjer dev"""import jsonimport timeimport urllibimport uuidimport boto3import threadingimport loggingfrom boto3.session import Sessionfrom django.http import JsonResponse, HttpResponseRedirect, HttpResponsefrom django.views.generic.base import Viewfrom Model.models import Device_Info, DeviceLogModelfrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObjectfrom Object.UidTokenObject import UidTokenObjectfrom Service.CommonService import CommonServicefrom django.db.models import Q, Ffrom time import strftimeclass DeviceDebug(View):    def get(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        return self.validation(request.GET, request, operation)    def post(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        return self.validation(request.POST, request, operation)    def validation(self, request_dict, request, operation):        response = ResponseObject()        if not operation:            return response.json(444,'operation')        uidToken = request_dict.get('uidToken', None)        if uidToken is not None:            utko = UidTokenObject(uidToken)            if utko.flag is False:                return response.json(444, 'uidToken')            uid = utko.UID            if uid is not None:                if operation == 'singleDebug':                    return self.single_debug(request, request_dict, uid, response)            return response.json(444, 'operation')        else:            if operation == 'deviceException':                return self.device_exception(request, request_dict, response)            return response.json(309)    def single_debug(self,request, request_dict, uid, response):        ip = CommonService.get_ip_address(request)        device_info = logging.getLogger('device_info')        device_info.info("----------------------------------------------------------------------------------")        device_info.info("----------------------------------------------------------------------------------")        device_info.info("----------------------------------------------------------------------------------")        device_info.info("----------------------------------------------------------------------------------")        device_info.info("----------------------------------------------------------------------------------")        device_info.info("----------------------------------------------------------------------------------")        device_info.info("debug----------------------------------------------------------------------------------start")        device_info.info("uid:"+uid)        device_info.info(strftime("%Y-%m-%d %H:%M:%S"))        device_info.info("ip:"+ip)        device_info.info(request_dict.get('debug_log'))        device_info.info("debug------------------------------------------------------------------------------------end")        return response.json(0,'debug success')                # return response.json(10, '生成失败')    #c1 pro设备上传异常日志    def device_exception(self,request, request_dict, response):        uid = request_dict.get('uid', None)        serial_number = request_dict.get('serial_number', None)        error_info = request_dict.get('error_info', None)        # uid,serial_number二传一        if not (uid or serial_number):            return response.json(444)        try:            data_dict = {                'error_info': error_info,                'status': 3,                'ip': CommonService.get_ip_address(request),            }            if uid:                data_dict['uid'] = CommonService.decode_data(uid)            else:                data_dict['serial_number'] = CommonService.decode_data(serial_number)            DeviceLogModel.objects.create(**data_dict)            return response.json(0)        except Exception as e:            print(e)            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 |