@@ -74,6 +74,10 @@ class DefaultDataConnectService(DataConnectService):
7474 def __init__ (self , transport : Transport ) -> None :
7575 self ._transport = transport
7676
77+ @property
78+ def trace_id (self ) -> str | None :
79+ return getattr (self ._transport , "trace_id" , None )
80+
7781 # DataConnectService
7882
7983 def get_studies (self , search_study_name : str | None = None ) -> StudiesResult :
@@ -88,11 +92,13 @@ def get_studies(self, search_study_name: str | None = None) -> StudiesResult:
8892 - ``studies``: list of :class:`Study` objects matching the criteria.
8993 """
9094
95+ self ._transport .begin_request ()
9196 request = ResourceQuery (action = _ACTION_LIST_STUDIES )
9297 request = request .append_body ({"search_study_name" : search_study_name })
9398
9499 try :
95- resources = self ._transport .list_resources (request )
100+ result = self ._transport .list_resources (request )
101+ resources = result
96102 total_records = resources [0 ].total_records if resources else 0
97103 studies = [resource_to_study (r ) for r in resources ]
98104 return StudiesResult (total_records = total_records , studies = studies )
@@ -106,29 +112,32 @@ def get_dataset_versions(self, dataset_uuid: UUID) -> list[DatasetVersion]:
106112 dataset_uuid: UUID of the dataset whose versions are requested.
107113
108114 Returns:
109- A list of :class:`DatasetVersion` objects for the given dataset .
115+ The dataset versions, newest first .
110116
111117 Raises:
112118 ValidationError: If *dataset_uuid* is not a valid UUID (upstream).
113119 """
114120
121+ self ._transport .begin_request ()
115122 request = ResourceQuery (action = _ACTION_LIST_DATASET_VERSIONS ).append_body ({"dataset_uuid" : str (dataset_uuid )})
116123
117124 try :
118- resources = self ._transport .list_resources (request )
125+ result = self ._transport .list_resources (request )
119126
120127 # Return Sorted dataset versions in descending order (newest first) based on the dataset_version field.
121- return sorted (
122- (resource_to_dataset_version (r ) for r in resources ),
128+ versions = sorted (
129+ (resource_to_dataset_version (r ) for r in result ),
123130 key = lambda dv : dv .dataset_version ,
124131 reverse = True ,
125132 )
133+ return versions
126134 except Exception as ex :
127135 raise translate_error (ex ) from ex
128136
129137 def fetch_data (self , dataset_uuid : UUID , first_n_rows : int | None = None ) -> pd .DataFrame :
130138 """Fetch data for a dataset"""
131139
140+ self ._transport .begin_request ()
132141 ticket = DatasetTicket (
133142 dataset_uuid = str (dataset_uuid ),
134143 limit = _coerce_int_field ("first_n_rows" , first_n_rows ),
@@ -159,6 +168,7 @@ def get_datasets(
159168 A :class:`PaginatedResponse` of :class:`Dataset` items matching the criteria.
160169 """
161170
171+ self ._transport .begin_request ()
162172 request = ResourceQuery (action = _ACTION_LIST_DATASETS ).append_body (
163173 {
164174 "study_environment_uuid" : str (study_environment_uuid ),
@@ -169,7 +179,8 @@ def get_datasets(
169179 )
170180
171181 try :
172- resources = self ._transport .list_resources (request )
182+ result = self ._transport .list_resources (request )
183+ resources = result
173184 items = []
174185 for resource in resources :
175186 dataset = resource_to_dataset (resource )
@@ -229,6 +240,7 @@ def dry_publish(
229240 for example :class:`ValidationError`,
230241 :class:`AuthorizationError`, or :class:`ServerError`."""
231242
243+ self ._transport .begin_request ()
232244 request = PublishRequest (
233245 input_config = json .dumps (
234246 {
@@ -291,6 +303,7 @@ def publish(
291303 layer is translated by :func:`translate_error` into the public
292304 API's :class:`DataConnectError` hierarchy before propagating.
293305 """
306+ self ._transport .begin_request ()
294307 request = PublishRequest (
295308 input_config = json .dumps (
296309 {
@@ -344,10 +357,11 @@ def get_datetime_formats(
344357 layer is translated by :func:`translate_error` into the public
345358 API's :class:`DataConnectError` hierarchy.
346359 """
360+ self ._transport .begin_request ()
347361 request = DatetimeFormatsRequest (project_token = project_token , format_type = format_type )
348362
349363 try :
350- raw_formats = self ._transport .get_datetime_formats (request )
364+ formats_response = self ._transport .get_datetime_formats (request )
351365 except TransportError as ex :
352366 raise translate_error (ex ) from ex
353367
@@ -356,7 +370,7 @@ def get_datetime_formats(
356370 format = fmt ,
357371 type = "datetime" if "HH:mm" in fmt else "date" ,
358372 )
359- for fmt in raw_formats
373+ for fmt in formats_response
360374 ]
361375
362376 return DatetimeFormatsResult (formats = formats )
0 commit comments