6
6
import sys
7
7
from datetime import datetime , timezone
8
8
from types import MappingProxyType
9
- from typing import Callable , Dict , Optional
9
+ from typing import Callable , Dict , Optional , TypedDict
10
10
11
11
import requests
12
12
import requests .exceptions
@@ -25,6 +25,13 @@ def python_version_info():
25
25
26
26
27
27
LABELBOX_CALL_PATTERN = re .compile (r"/labelbox/" )
28
+ TEST_FILE_PATTERN = re .compile (r".*test.*\.py$" )
29
+
30
+
31
+ class _RequestInfo (TypedDict ):
32
+ prefix : str
33
+ class_name : str
34
+ method_name : str
28
35
29
36
30
37
def call_info ():
@@ -45,7 +52,7 @@ def call_info():
45
52
).__class__ .__name__
46
53
47
54
if method_name not in skip_methods and class_name not in skip_classes :
48
- if "test" in call_info .filename :
55
+ if TEST_FILE_PATTERN . search ( call_info .filename ) :
49
56
prefix = "test:"
50
57
else :
51
58
if class_name == "NoneType" :
@@ -54,7 +61,12 @@ def call_info():
54
61
55
62
except Exception :
56
63
pass
57
- return (prefix , class_name , method_name )
64
+ return _RequestInfo (prefix = prefix , class_name = class_name , method_name = method_name )
65
+
66
+
67
+ def call_info_as_str ():
68
+ info = call_info ()
69
+ return f"{ info ['prefix' ]} { info ['class_name' ]} :{ info ['method_name' ]} "
58
70
59
71
60
72
class RequestClient :
@@ -221,9 +233,8 @@ def convert_value(value):
221
233
if files :
222
234
del headers ["Content-Type" ]
223
235
del headers ["Accept" ]
224
- headers ["X-SDK-Method" ] = (
225
- f"{ call_info ()[0 ]} { call_info ()[1 ]} :{ call_info ()[2 ]} "
226
- )
236
+ headers ["X-SDK-Method" ] = call_info_as_str ()
237
+
227
238
request = requests .Request (
228
239
"POST" ,
229
240
endpoint ,
0 commit comments