From c5a47110f701d4339dd3aca25de63d46e01f1fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E9=BE=99?= Date: Thu, 1 Dec 2016 10:48:35 +0800 Subject: [PATCH 1/3] add support for session and remove error indentation 1. reuse the connection for the session, no need to make another connection for every call of the api 2. remove some redundant space character, to avoid indentation error --- TencentYoutuyun/youtu.py | 117 +++++++++++++++++++++++++++------------ 1 file changed, 81 insertions(+), 36 deletions(-) diff --git a/TencentYoutuyun/youtu.py b/TencentYoutuyun/youtu.py index 613d84a..53e2a42 100644 --- a/TencentYoutuyun/youtu.py +++ b/TencentYoutuyun/youtu.py @@ -40,6 +40,7 @@ def __init__(self, appid, secret_id, secret_key, userid='0', end_point=conf.API_ self._userid = userid self._end_point = end_point conf.set_app_info(appid, secret_id, secret_key, userid, end_point) + self.requests_session = requests.Session() def get_headers(self, req_type): @@ -100,7 +101,9 @@ def FaceCompare(self, image_pathA, image_pathB, data_type = 0): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':self.IMAGE_NETWORK_ERROR, 'errormsg':'', 'session_id':'', 'similarity':0} ret = r.json() @@ -137,7 +140,9 @@ def FaceVerify(self, person_id, image_path, data_type = 0): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "confidence":0, "ismatch":0, "session_id":''} ret = r.json() @@ -176,7 +181,9 @@ def FaceIdentify(self, group_id, image_path, data_type = 0): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "session_id":'', "candidates":[{}]} ret = r.json() @@ -211,7 +218,9 @@ def DetectFace(self, image_path, mode = 0, data_type = 0): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "session_id":'', "image_id":'', "image_height":0, "image_width":0, "face":[{}]} ret = r.json() @@ -259,7 +268,9 @@ def NewPerson(self, person_id, image_path, group_ids, person_name= '', tag='', d r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "person_id":'', "suc_group":'', "suc_face":0, "session_id":0, "face_id":'', "group_ids":''} @@ -285,7 +296,9 @@ def DelPerson(self, person_id) : r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "deleted":0, "session_id":''} @@ -330,7 +343,9 @@ def AddFace(self, person_id, images, tag='', data_type = 0): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "face_ids":[], "session_id":'', "added": 0, "ret_codes":[]} @@ -363,7 +378,9 @@ def DelFace(self, person_id, face_ids): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "session_id":'', "deleted ": 0} @@ -392,7 +409,9 @@ def SetInfo(self, person_id, person_name='', tag=''): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "person_id":'', "session_id ": ''} @@ -418,7 +437,9 @@ def GetInfo(self, person_id): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "person_id":'', "person_name ": '', "face_ids":[], "tag":'', "secret_id":''} ret = r.json() @@ -440,7 +461,9 @@ def GetGroupIds(self): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "group_ids":[]} @@ -466,7 +489,9 @@ def GetPersonIds(self, group_id) : r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "person_ids":[]} @@ -492,7 +517,9 @@ def GetFaceIds(self, person_id): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "face_ids":[]} @@ -518,7 +545,9 @@ def GetFaceInfo(self, face_id): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "face_info":[]} @@ -553,7 +582,9 @@ def FaceShape(self, image_path, mode = 0, data_type = 0): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':'', "face_shape":[{}], "image_height":0, "image_width":0, "session_id":''} @@ -588,7 +619,9 @@ def fuzzydetect(self, image_path, data_type = 0, seq = ''): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':''} @@ -623,7 +656,9 @@ def fooddetect(self, image_path, data_type = 0, seq = ''): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':''} @@ -632,8 +667,6 @@ def fooddetect(self, image_path, data_type = 0, seq = ''): return {'httpcode':0, 'errorcode':self.IMAGE_NETWORK_ERROR, 'errormsg':str(e)} return ret - - def imagetag(self, image_path, data_type = 0, seq = ''): @@ -660,7 +693,9 @@ def imagetag(self, image_path, data_type = 0, seq = ''): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':''} @@ -695,7 +730,9 @@ def imageporn(self, image_path, data_type = 0, seq = ''): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':''} @@ -704,7 +741,7 @@ def imageporn(self, image_path, data_type = 0, seq = ''): return {'httpcode':0, 'errorcode':self.IMAGE_NETWORK_ERROR, 'errormsg':str(e)} return ret - + def idcardocr(self, image_path, data_type = 0, card_type = 1 ,seq = ''): req_type='idcardocr' @@ -730,7 +767,9 @@ def idcardocr(self, image_path, data_type = 0, card_type = 1 ,seq = ''): data["url"] = image_path r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':''} @@ -765,7 +804,9 @@ def namecardocr(self, image_path, data_type = 0, retimage= 1, seq = ''): r = {} try: - r = requests.post(url, headers=headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode':r.status_code, 'errorcode':'', 'errormsg':''} @@ -788,7 +829,9 @@ def livegetfour(self, seq = ''): r = {} try: - r = requests.post(url, headers = headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode' : r.status_code, 'errorcode' : '', 'errormsg' : '', 'validate_data' : ''} ret = r.json() @@ -836,7 +879,9 @@ def livedetectfour(self, validate_data, video_path, seq = '', card_path = '', c r = {} try: - r = requests.post(url, headers = headers, data = json.dumps(data)) + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode' : r.status_code, 'errorcode' : '', 'errormsg' : '', 'live_status' : '', 'live_msg' : '', 'compare_status' : '', 'compare_msg' : '', 'sim' : 0, 'photo' : ''} ret = r.json() @@ -877,10 +922,12 @@ def idcardlivedetectfour(self, idcard_number, idcard_name, validate_data, video_ r = {} try: - r = requests.post(url, headers = headers, data = json.dumps(data)) - if r.status_code != 200 : + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = requests.post(url, headers = headers, data = json.dumps(data)) + if r.status_code != 200 : return {'httpcode' : r.status_code, 'errorcode' : '', 'errormsg' : '', 'live_status' : '', 'live_msg' : '', 'compare_status' : '', 'compare_msg' : '', 'sim' : 0, 'video_photo' : ''} - ret = r.json() + ret = r.json() except Exception as e: return {'httpcode':0, 'errorcode':self.IMAGE_NETWORK_ERROR, 'errormsg':str(e), 'live_status' : '', 'live_msg' : '', 'compare_status' : '', 'compare_msg' : '', 'sim' : 0, 'video_photo' : ''} @@ -916,15 +963,13 @@ def idcardfacecompare(self, idcard_number, idcard_name, image_path, data_type = r = {} try: - r = requests.post(url, headers = headers, data = json.dumps(data)) - if r.status_code != 200: + req = requests.Request('POST', url, data=json.dumps(data), headers=headers) + prepped = self.requests_session.prepare_request(req) + r = requests.post(url, headers = headers, data = json.dumps(data)) + if r.status_code != 200: return {'httpcode' : r.status_code, 'errorcode' : '', 'errormsg' : '', 'similarity' : '', 'session_id' : session_id} - ret = r.json() + ret = r.json() except Exception as e: return {'httpcode':0, 'errorcode':self.IMAGE_NETWORK_ERROR, 'errormsg':str(e), 'similarity' : '', 'session_id' : session_id} return ret - - - - From f428116946c2be4477ad15765a08f946ef082792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E9=BE=99?= Date: Wed, 7 Dec 2016 17:18:31 +0800 Subject: [PATCH 2/3] change the remaining requests.post to session send --- TencentYoutuyun/youtu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TencentYoutuyun/youtu.py b/TencentYoutuyun/youtu.py index 53e2a42..fec8c56 100644 --- a/TencentYoutuyun/youtu.py +++ b/TencentYoutuyun/youtu.py @@ -924,7 +924,7 @@ def idcardlivedetectfour(self, idcard_number, idcard_name, validate_data, video_ try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) - r = requests.post(url, headers = headers, data = json.dumps(data)) + r = self.requests_session.send(prepped) if r.status_code != 200 : return {'httpcode' : r.status_code, 'errorcode' : '', 'errormsg' : '', 'live_status' : '', 'live_msg' : '', 'compare_status' : '', 'compare_msg' : '', 'sim' : 0, 'video_photo' : ''} ret = r.json() @@ -965,7 +965,7 @@ def idcardfacecompare(self, idcard_number, idcard_name, image_path, data_type = try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) - r = requests.post(url, headers = headers, data = json.dumps(data)) + r = self.requests_session.send(prepped) if r.status_code != 200: return {'httpcode' : r.status_code, 'errorcode' : '', 'errormsg' : '', 'similarity' : '', 'session_id' : session_id} ret = r.json() From fd5387d2a5e6ac5803e4545332dc56b01eb902bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E9=BE=99?= Date: Wed, 7 Dec 2016 20:00:55 +0800 Subject: [PATCH 3/3] remove redundant r={} --- TencentYoutuyun/youtu.py | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/TencentYoutuyun/youtu.py b/TencentYoutuyun/youtu.py index fec8c56..253d4b0 100644 --- a/TencentYoutuyun/youtu.py +++ b/TencentYoutuyun/youtu.py @@ -99,7 +99,6 @@ def FaceCompare(self, image_pathA, image_pathB, data_type = 0): data["urlA"] = image_pathA data["urlB"] = image_pathB - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -138,7 +137,6 @@ def FaceVerify(self, person_id, image_path, data_type = 0): else : data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -179,7 +177,6 @@ def FaceIdentify(self, group_id, image_path, data_type = 0): else : data["group_id"] = group_id - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -216,7 +213,6 @@ def DetectFace(self, image_path, mode = 0, data_type = 0): else : data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -266,7 +262,6 @@ def NewPerson(self, person_id, image_path, group_ids, person_name= '', tag='', d else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -294,7 +289,6 @@ def DelPerson(self, person_id) : "person_id" : person_id } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -341,7 +335,6 @@ def AddFace(self, person_id, images, tag='', data_type = 0): else : data["urls"] = images - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -376,7 +369,6 @@ def DelFace(self, person_id, face_ids): "face_ids":face_ids } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -407,7 +399,6 @@ def SetInfo(self, person_id, person_name='', tag=''): "tag":tag } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -435,7 +426,6 @@ def GetInfo(self, person_id): "person_id": person_id } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -459,7 +449,6 @@ def GetGroupIds(self): "app_id": self._appid } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -487,7 +476,6 @@ def GetPersonIds(self, group_id) : "group_id": group_id } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -515,7 +503,6 @@ def GetFaceIds(self, person_id): "person_id": person_id } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -543,7 +530,6 @@ def GetFaceInfo(self, face_id): "face_id": face_id } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -580,7 +566,6 @@ def FaceShape(self, image_path, mode = 0, data_type = 0): else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -617,7 +602,6 @@ def fuzzydetect(self, image_path, data_type = 0, seq = ''): else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -654,7 +638,6 @@ def fooddetect(self, image_path, data_type = 0, seq = ''): else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -691,7 +674,6 @@ def imagetag(self, image_path, data_type = 0, seq = ''): else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -728,7 +710,6 @@ def imageporn(self, image_path, data_type = 0, seq = ''): else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -765,7 +746,7 @@ def idcardocr(self, image_path, data_type = 0, card_type = 1 ,seq = ''): data["image"] = base64.b64encode(open(filepath, 'rb').read()).rstrip().decode('utf-8') else: data["url"] = image_path - r = {} + try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -802,7 +783,6 @@ def namecardocr(self, image_path, data_type = 0, retimage= 1, seq = ''): else: data["url"] = image_path - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -827,7 +807,6 @@ def livegetfour(self, seq = ''): 'seq' : seq } - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -877,7 +856,6 @@ def livedetectfour(self, validate_data, video_path, seq = '', card_path = '', c data['validate_data'] = validate_data data['compare_flag'] = compare_flag - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -920,7 +898,6 @@ def idcardlivedetectfour(self, idcard_number, idcard_name, validate_data, video_ data['idcard_name'] = idcard_name data['validate_data'] = validate_data - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req) @@ -961,7 +938,6 @@ def idcardfacecompare(self, idcard_number, idcard_name, image_path, data_type = data['idcard_number'] = idcard_number data['idcard_name'] = idcard_name - r = {} try: req = requests.Request('POST', url, data=json.dumps(data), headers=headers) prepped = self.requests_session.prepare_request(req)