| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | #!/usr/bin/env python3# -*- coding: utf-8 -*-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, Role, MenuModelfrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObjectfrom Object.UidTokenObject import UidTokenObjectfrom Service.CommonService import CommonServicefrom django.db.models import Q, Ffrom time import strftimefrom Ansjer.config import BASE_DIRfrom Object import MergePicimport osimport base64class TestServeView(View):    def get(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        print("--------------------get")        return self.validation(request.GET, request, operation)    def post(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        print("--------------------post")        return self.validation(request.POST, request, operation)    def validation(self, request_dict, request, operation):        language = request_dict.get('language', 'en')        response = ResponseObject(language, 'pc')        if operation == '??':            return 0        else:            tko = TokenObject(                request.META.get('HTTP_AUTHORIZATION'),                returntpye='pc')            # if tko.code != 0:            #     return response.json(tko.code)            response.lang = tko.lang            userID = tko.userID            if operation == 'AItest':                return self.AItest(userID, request, request_dict, response)            if operation == 'doEdit':                return self.doEdit(userID, request_dict, response)            if operation == 'doDelete':                return self.doDelete(userID, request_dict, response)            else:                return response.json(404)    def AItest(self, userID, request, request_dict, response):        file = request.FILES.get('file', None)        print('request_dict: ', request_dict)        maxLabels = int(request_dict.get('maxLabels', 5))        minConfidence = float(request_dict.get('minConfidence', 55))        client = boto3.client(            'rekognition',            aws_access_key_id='AKIA2E67UIMD6JD6TN3J',            aws_secret_access_key='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',            region_name='us-east-1')        # doc:        # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_labels        rekognition_res = client.detect_labels(            Image={                'Bytes': file.read()},            MaxLabels=maxLabels,            MinConfidence=minConfidence)        print('rekognition_res: ', rekognition_res)        return response.json(0, {'rekognition_res': rekognition_res})
 |