Skip to content

Commit 3bbe628

Browse files
Sihem TchabiSihem Tchabi
authored andcommitted
fix(LAB-4118): add a warning log to inform the user he uses a deprecated field
1 parent 994dc17 commit 3bbe628

File tree

1 file changed

+36
-17
lines changed

1 file changed

+36
-17
lines changed

src/kili/core/graphql/graphql_client.py

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -322,20 +322,39 @@ def _raw_execute(
322322
log_context = LogContext()
323323
log_context.set_client_name(self.client_name)
324324
with _execute_lock:
325-
res = self._gql_client.execute(
326-
document=document,
327-
variable_values=variables,
328-
extra_args={
329-
"headers": {
330-
**(self._gql_transport.headers or {}),
331-
**log_context,
332-
}
333-
},
334-
**kwargs,
335-
)
336-
transport = self._gql_client.transport
337-
if transport:
338-
headers = transport.response_headers # pyright: ignore[reportAttributeAccessIssue]
339-
returned_complexity = int(headers.get("x-complexity", 0)) if headers else 0
340-
self.complexity_consumed += returned_complexity
341-
return res
325+
with self._gql_client as session:
326+
transport = session.transport
327+
328+
res = transport.execute(
329+
document=document,
330+
variable_values=variables,
331+
extra_args={
332+
"headers": {
333+
**(self._gql_transport.headers or {}),
334+
**log_context,
335+
}
336+
},
337+
**kwargs,
338+
)
339+
340+
deprecated = (
341+
res.extensions.get("deprecatedFieldsUsed", [])
342+
if hasattr(res, "extensions")
343+
else []
344+
)
345+
346+
if deprecated:
347+
for item in deprecated:
348+
path = item.get("path")
349+
reason = item.get("reason")
350+
logging.warning(
351+
f"[Kili SDK] Deprecated GraphQL field used: {path}{reason}"
352+
)
353+
354+
headers = getattr(transport, "response_headers", None)
355+
if headers:
356+
returned_complexity = int(headers.get("x-complexity", 0))
357+
self.complexity_consumed += returned_complexity
358+
359+
return res.data
360+

0 commit comments

Comments
 (0)