pyegeria 5.4.0.3__py3-none-any.whl → 5.4.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,9 +11,11 @@ import asyncio
11
11
  from os import terminal_size
12
12
 
13
13
  from httpx import Response
14
+ from loguru import logger
14
15
  from prompt_toolkit import data_structures
15
16
 
16
- from pyegeria import select_output_format_set
17
+ from pyegeria import Client2
18
+ from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
17
19
  from pyegeria._client import Client, max_paging_size
18
20
  from pyegeria._globals import NO_ELEMENTS_FOUND
19
21
  from pyegeria.output_formatter import (extract_mermaid_only, extract_basic_dict, generate_output,
@@ -45,7 +47,7 @@ def base_path(client, view_server: str):
45
47
  return f"{client.platform_url}/servers/{view_server}/api/open-metadata/data-designer"
46
48
 
47
49
 
48
- class DataDesigner(Client):
50
+ class DataDesigner(Client2):
49
51
  """DataDesigner is a class that extends the Client class. The Data Designer OMVS provides APIs for
50
52
  building specifications for data. This includes common data fields in a data dictionary, data specifications
51
53
  for a project and data classes for data quality validation.
@@ -1115,7 +1117,7 @@ r replace_all_properties: bool, default = False
1115
1117
  loop.run_until_complete(self._async_delete_data_field(data_struct_guid, body, cascade))
1116
1118
 
1117
1119
  async def _async_find_all_data_structures(self, start_from: int = 0, page_size: int = max_paging_size,
1118
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1120
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
1119
1121
  """Returns a list of all known data structures. Async version.
1120
1122
 
1121
1123
  Parameters
@@ -1126,7 +1128,7 @@ r replace_all_properties: bool, default = False
1126
1128
  - maximum number of elements to return.
1127
1129
  output_format: str, default = "DICT"
1128
1130
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
1129
- columns_struct: dict, optional, default = None
1131
+ output_format_set: dict, optional, default = None
1130
1132
  - The desired output columns/field options.
1131
1133
  Returns
1132
1134
  -------
@@ -1157,11 +1159,11 @@ r replace_all_properties: bool, default = False
1157
1159
  if type(elements) is str:
1158
1160
  return NO_ELEMENTS_FOUND
1159
1161
  if output_format != 'JSON': # return other representations
1160
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1162
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1161
1163
  return elements
1162
1164
 
1163
1165
  def find_all_data_structures(self, start_from: int = 0, page_size: int = max_paging_size,
1164
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1166
+ output_format: str = 'JSON', output_format_set: dict = None) -> list | str:
1165
1167
  """ Returns a list of all known data structures.
1166
1168
 
1167
1169
  Parameters
@@ -1192,13 +1194,13 @@ r replace_all_properties: bool, default = False
1192
1194
  """
1193
1195
 
1194
1196
  loop = asyncio.get_event_loop()
1195
- response = loop.run_until_complete(self._async_find_all_data_structures(start_from, page_size, output_format, columns_struct))
1197
+ response = loop.run_until_complete(self._async_find_all_data_structures(start_from, page_size, output_format, output_format_set))
1196
1198
  return response
1197
1199
 
1198
1200
  async def _async_find_data_structures_w_body(self, body: dict, start_from: int = 0,
1199
1201
  page_size: int = max_paging_size, starts_with: bool = True,
1200
1202
  ends_with: bool = False, ignore_case: bool = True,
1201
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1203
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1202
1204
  """ Retrieve the list of data structure metadata elements that contain the search string.
1203
1205
  Async version.
1204
1206
 
@@ -1218,7 +1220,7 @@ r replace_all_properties: bool, default = False
1218
1220
  - If True, the case of the search string is ignored.
1219
1221
  output_format: str, default = "DICT"
1220
1222
  - output format of the data structure. Possible values: "DICT", 'REPORT', 'FORM', "JSON", "MERMAID".
1221
- columns_struct: dict, optional, default = None
1223
+ output_format_set: str | dict, optional, default = None
1222
1224
  - The desired output columns/field options.
1223
1225
 
1224
1226
  Returns
@@ -1266,12 +1268,12 @@ r replace_all_properties: bool, default = False
1266
1268
  if type(elements) is list and len(elements) == 0:
1267
1269
  return NO_ELEMENTS_FOUND
1268
1270
  if output_format != 'JSON': # return other representations
1269
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1271
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1270
1272
  return elements
1271
1273
 
1272
1274
  def find_data_structures_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
1273
1275
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
1274
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1276
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1275
1277
  """ Retrieve the list of data structure metadata elements that contain the search string.
1276
1278
 
1277
1279
  Parameters
@@ -1290,7 +1292,7 @@ r replace_all_properties: bool, default = False
1290
1292
  - If True, the case of the search string is ignored.
1291
1293
  output_format: str, default = "DICT"
1292
1294
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
1293
- columns_struct: dict, optional, default = None
1295
+ output_format_set: str | dict, optional, default = None
1294
1296
  - The desired output columns/field options.
1295
1297
  Returns
1296
1298
  -------
@@ -1325,18 +1327,18 @@ r replace_all_properties: bool, default = False
1325
1327
  loop = asyncio.get_event_loop()
1326
1328
  response = loop.run_until_complete(
1327
1329
  self._async_find_data_structures_w_body(body, start_from, page_size, starts_with, ends_with, ignore_case,
1328
- output_format, columns_struct))
1330
+ output_format, output_format_set))
1329
1331
  return response
1330
1332
 
1331
- async def _async_find_data_structures(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
1333
+ async def _async_find_data_structures(self, search_string: str, start_from: int = 0, page_size: int = max_paging_size,
1332
1334
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
1333
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1335
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
1334
1336
  """ Find the list of data structure metadata elements that contain the search string.
1335
1337
  Async version.
1336
1338
 
1337
1339
  Parameters
1338
1340
  ----------
1339
- filter: str
1341
+ search_string: str
1340
1342
  - search string to filter on.
1341
1343
  start_from: int, default = 0
1342
1344
  - index of the list to start from (0 for start).
@@ -1350,7 +1352,7 @@ r replace_all_properties: bool, default = False
1350
1352
  - If True, the case of the search string is ignored.
1351
1353
  output_format: str, default = "DICT"
1352
1354
  - one of "DICT", "MERMAID" or "JSON"
1353
- columns_struct: dict, optional, default = None
1355
+ output_format_set: dict|str, optional, default = None
1354
1356
  - The desired output columns/field options.
1355
1357
  Returns
1356
1358
  -------
@@ -1367,10 +1369,10 @@ r replace_all_properties: bool, default = False
1367
1369
  the requesting user is not authorized to issue this request.
1368
1370
 
1369
1371
  """
1370
- if filter == "*":
1371
- filter = None
1372
+ if search_string == "*":
1373
+ search_string = None
1372
1374
 
1373
- body = {"filter": filter}
1375
+ body = {"filter": search_string}
1374
1376
  starts_with_s = str(starts_with).lower()
1375
1377
  ends_with_s = str(ends_with).lower()
1376
1378
  ignore_case_s = str(ignore_case).lower()
@@ -1379,8 +1381,6 @@ r replace_all_properties: bool, default = False
1379
1381
  [("startFrom", start_from), ("pageSize", page_size), ("startsWith", ends_with_s), ("endsWith", ends_with_s),
1380
1382
  ("ignoreCase", ignore_case_s),])
1381
1383
 
1382
-
1383
-
1384
1384
  url = (f"{base_path(self, self.view_server)}/data-structures/by-search-string"
1385
1385
  f"{possible_query_params}")
1386
1386
 
@@ -1391,17 +1391,17 @@ r replace_all_properties: bool, default = False
1391
1391
  return NO_ELEMENTS_FOUND
1392
1392
 
1393
1393
  if output_format != 'JSON': # return a simplified markdown representation
1394
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1394
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1395
1395
  return elements
1396
1396
 
1397
- def find_data_structures(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
1397
+ def find_data_structures(self, search_string: str, start_from: int = 0, page_size: int = max_paging_size,
1398
1398
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
1399
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1399
+ output_format: str = 'JSON', output_format_set:str| dict = None) -> list | str:
1400
1400
  """ Retrieve the list of data structure metadata elements that contain the search string filter.
1401
1401
 
1402
1402
  Parameters
1403
1403
  ----------
1404
- filter: str
1404
+ search_string: str
1405
1405
  - search string to filter on.
1406
1406
  start_from: int, default = 0
1407
1407
  - index of the list to start from (0 for start).
@@ -1416,7 +1416,7 @@ r replace_all_properties: bool, default = False
1416
1416
  output_format: str, default = "DICT"
1417
1417
  output_format: str, default = "DICT"
1418
1418
  - one of "DICT", "MERMAID" or "JSON"
1419
- columns_struct: dict, optional, default = None
1419
+ output_format_set: dict|str, optional, default = None
1420
1420
  - The desired output columns/field options.
1421
1421
 
1422
1422
  Returns
@@ -1438,13 +1438,13 @@ r replace_all_properties: bool, default = False
1438
1438
 
1439
1439
  loop = asyncio.get_event_loop()
1440
1440
  response = loop.run_until_complete(
1441
- self._async_find_data_structures(filter, start_from, page_size, starts_with, ends_with, ignore_case,
1442
- output_format, columns_struct))
1441
+ self._async_find_data_structures(search_string, start_from, page_size, starts_with, ends_with, ignore_case,
1442
+ output_format, output_format_set))
1443
1443
  return response
1444
1444
 
1445
1445
  async def _async_get_data_structures_by_name(self, filter: str, body: dict = None, start_from: int = 0,
1446
1446
  page_size: int = max_paging_size,
1447
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1447
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1448
1448
  """ Get the list of data structure metadata elements with a matching name to the search string filter.
1449
1449
  Async version.
1450
1450
 
@@ -1460,7 +1460,7 @@ r replace_all_properties: bool, default = False
1460
1460
  - maximum number of elements to return.
1461
1461
  output_format: str, default = "DICT"
1462
1462
  - one of "DICT", "MERMAID" or "JSON"
1463
- columns_struct: dict, optional, default = None
1463
+ output_format_set: str | dict, optional, default = None
1464
1464
  - The desired output columns/field options.
1465
1465
 
1466
1466
  Returns
@@ -1505,11 +1505,11 @@ r replace_all_properties: bool, default = False
1505
1505
  if type(elements) is str:
1506
1506
  return NO_ELEMENTS_FOUND
1507
1507
  if output_format != 'JSON': # return other representations
1508
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1508
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1509
1509
  return elements
1510
1510
 
1511
1511
  def get_data_structures_by_name(self, filter: str, body: dict = None, start_from: int = 0,
1512
- page_size: int = max_paging_size, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1512
+ page_size: int = max_paging_size, output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1513
1513
  """ Get the list of data structure metadata elements with a matching name to the search string filter.
1514
1514
 
1515
1515
  Parameters
@@ -1524,7 +1524,7 @@ r replace_all_properties: bool, default = False
1524
1524
  - maximum number of elements to return.
1525
1525
  output_format: str, default = "DICT"
1526
1526
  - one of "DICT", "MERMAID" or "JSON"
1527
- columns_struct: dict, optional, default = None
1527
+ output_format_set: str | dict, optional, default = None
1528
1528
  - The desired output columns/field options.
1529
1529
 
1530
1530
  Returns
@@ -1546,11 +1546,11 @@ r replace_all_properties: bool, default = False
1546
1546
 
1547
1547
  loop = asyncio.get_event_loop()
1548
1548
  response = loop.run_until_complete(
1549
- self._async_get_data_structures_by_name(filter, body, start_from, page_size, output_format, columns_struct))
1549
+ self._async_get_data_structures_by_name(filter, body, start_from, page_size, output_format, output_format_set))
1550
1550
  return response
1551
1551
 
1552
1552
  async def _async_get_data_structure_by_guid(self, guid: str, body: dict = None,
1553
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1553
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1554
1554
  """ Get the data structure metadata elements for the specified GUID.
1555
1555
  Async version.
1556
1556
 
@@ -1562,7 +1562,7 @@ r replace_all_properties: bool, default = False
1562
1562
  - optional request body.
1563
1563
  output_format: str, default = "DICT"
1564
1564
  - one of "DICT", "MERMAID" or "JSON"
1565
- columns_struct: dict, optional, default = None
1565
+ output_format_set: str | dict, optional, default = None
1566
1566
  - The desired output columns/field options.
1567
1567
 
1568
1568
  Returns
@@ -1603,10 +1603,10 @@ r replace_all_properties: bool, default = False
1603
1603
  if type(element) is str:
1604
1604
  return NO_ELEMENTS_FOUND
1605
1605
  if output_format != 'JSON': # return other representations
1606
- return self._generate_data_structure_output(element, filter, output_format, columns_struct)
1606
+ return self._generate_data_structure_output(element, filter, output_format, output_format_set)
1607
1607
  return element
1608
1608
 
1609
- def get_data_structure_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1609
+ def get_data_structure_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1610
1610
  """ Get the data structure metadata element with the specified unique identifier..
1611
1611
 
1612
1612
  Parameters
@@ -1617,7 +1617,7 @@ r replace_all_properties: bool, default = False
1617
1617
  - optional request body.
1618
1618
  output_format: str, default = "DICT"
1619
1619
  - one of "DICT", "MERMAID" or "JSON"
1620
- columns_struct: dict, optional, default = None
1620
+ output_format_set: str | dict, optional, default = None
1621
1621
  - The desired output columns/field options.
1622
1622
 
1623
1623
  Returns
@@ -1649,7 +1649,7 @@ r replace_all_properties: bool, default = False
1649
1649
  """
1650
1650
 
1651
1651
  loop = asyncio.get_event_loop()
1652
- response = loop.run_until_complete(self._async_get_data_structure_by_guid(guid, body, output_format, columns_struct))
1652
+ response = loop.run_until_complete(self._async_get_data_structure_by_guid(guid, body, output_format, output_format_set))
1653
1653
  return response
1654
1654
 
1655
1655
  #
@@ -2479,7 +2479,7 @@ r replace_all_properties: bool, default = False
2479
2479
  loop.run_until_complete(self._async_delete_data_field(data_field_guid, body, cascade))
2480
2480
 
2481
2481
  async def _async_find_all_data_fields(self, start_from: int = 0, page_size: int = max_paging_size,
2482
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2482
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2483
2483
  """Returns a list of all known data fields. Async version.
2484
2484
 
2485
2485
  Parameters
@@ -2490,7 +2490,7 @@ r replace_all_properties: bool, default = False
2490
2490
  - maximum number of elements to return.
2491
2491
  output_format: str, default = "DICT"
2492
2492
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2493
- columns_struct: dict, optional, default = None
2493
+ output_format_set: str|dict, optional, default = None
2494
2494
  - The desired output columns/field options.
2495
2495
 
2496
2496
  Returns
@@ -2522,11 +2522,11 @@ r replace_all_properties: bool, default = False
2522
2522
  if type(elements) is str:
2523
2523
  return NO_ELEMENTS_FOUND
2524
2524
  if output_format != 'JSON': # return other representations
2525
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2525
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2526
2526
  return elements
2527
2527
 
2528
2528
  def find_all_data_fields(self, start_from: int = 0, page_size: int = max_paging_size,
2529
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2529
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2530
2530
  """ Returns a list of all known data fields.
2531
2531
 
2532
2532
  Parameters
@@ -2537,7 +2537,7 @@ r replace_all_properties: bool, default = False
2537
2537
  - maximum number of elements to return.
2538
2538
  output_format: str, default = "DICT"
2539
2539
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2540
- columns_struct: dict, optional, default = None
2540
+ output_format_set: str|dict, optional, default = None
2541
2541
  - The desired output columns/field options.
2542
2542
 
2543
2543
  Returns
@@ -2557,12 +2557,12 @@ r replace_all_properties: bool, default = False
2557
2557
  """
2558
2558
 
2559
2559
  loop = asyncio.get_event_loop()
2560
- response = loop.run_until_complete(self._async_find_all_data_fields(start_from, page_size, output_format,columns_struct))
2560
+ response = loop.run_until_complete(self._async_find_all_data_fields(start_from, page_size, output_format, output_format_set))
2561
2561
  return response
2562
2562
 
2563
2563
  async def _async_find_data_fields_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
2564
2564
  starts_with: bool = True, ends_with: bool = False,
2565
- ignore_case: bool = True, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2565
+ ignore_case: bool = True, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2566
2566
  """ Retrieve the list of data class metadata elements that contain the search string.
2567
2567
  Async version.
2568
2568
 
@@ -2582,7 +2582,7 @@ r replace_all_properties: bool, default = False
2582
2582
  - If True, the case of the search string is ignored.
2583
2583
  output_format: str, default = "DICT"
2584
2584
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2585
- columns_struct: dict, optional, default = None
2585
+ output_format_set: str|dict, optional, default = None
2586
2586
  - The desired output columns/field options.
2587
2587
 
2588
2588
 
@@ -2633,12 +2633,12 @@ r replace_all_properties: bool, default = False
2633
2633
  if type(elements) is str:
2634
2634
  return NO_ELEMENTS_FOUND
2635
2635
  if output_format != 'JSON': # return other representations
2636
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2636
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2637
2637
  return elements
2638
2638
 
2639
2639
  def find_data_fields_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
2640
2640
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
2641
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2641
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2642
2642
  """ Retrieve the list of data class metadata elements that contain the search string.
2643
2643
 
2644
2644
  Parameters
@@ -2657,7 +2657,7 @@ r replace_all_properties: bool, default = False
2657
2657
  - If True, the case of the search string is ignored.
2658
2658
  output_format: str, default = "DICT"
2659
2659
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2660
- columns_struct: dict, optional, default = None
2660
+ output_format_set: str|dict, optional, default = None
2661
2661
  - The desired output columns/field options.
2662
2662
 
2663
2663
 
@@ -2694,12 +2694,12 @@ r replace_all_properties: bool, default = False
2694
2694
  loop = asyncio.get_event_loop()
2695
2695
  response = loop.run_until_complete(
2696
2696
  self._async_find_data_fields_w_body(body, start_from, page_size, starts_with, ends_with, ignore_case,
2697
- output_format,columns_struct))
2697
+ output_format,output_format_set))
2698
2698
  return response
2699
2699
 
2700
2700
  async def _async_find_data_fields(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
2701
2701
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
2702
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2702
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2703
2703
  """ Find the list of data class elements that contain the search string.
2704
2704
  Async version.
2705
2705
 
@@ -2719,7 +2719,7 @@ r replace_all_properties: bool, default = False
2719
2719
  - If True, the case of the search string is ignored.
2720
2720
  output_format: str, default = "DICT"
2721
2721
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2722
- columns_struct: dict, optional, default = None
2722
+ output_format_set: str|dict, optional, default = None
2723
2723
  - The desired output columns/field options.
2724
2724
 
2725
2725
  Returns
@@ -2756,12 +2756,12 @@ r replace_all_properties: bool, default = False
2756
2756
  if type(elements) is str:
2757
2757
  return NO_ELEMENTS_FOUND
2758
2758
  if output_format != 'JSON': # return other representations
2759
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2759
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2760
2760
  return elements
2761
2761
 
2762
2762
  def find_data_fields(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
2763
2763
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
2764
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2764
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2765
2765
  """ Retrieve the list of data fields elements that contain the search string filter.
2766
2766
 
2767
2767
  Parameters
@@ -2780,7 +2780,7 @@ r replace_all_properties: bool, default = False
2780
2780
  - If True, the case of the search string is ignored.
2781
2781
  output_format: str, default = "DICT"
2782
2782
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2783
- columns_struct: dict, optional, default = None
2783
+ output_format_set: str|dict, optional, default = None
2784
2784
  - The desired output columns/field options.
2785
2785
 
2786
2786
  Returns
@@ -2803,12 +2803,12 @@ r replace_all_properties: bool, default = False
2803
2803
  loop = asyncio.get_event_loop()
2804
2804
  response = loop.run_until_complete(
2805
2805
  self._async_find_data_fields(filter, start_from, page_size, starts_with, ends_with, ignore_case,
2806
- output_format, columns_struct))
2806
+ output_format, output_format_set))
2807
2807
  return response
2808
2808
 
2809
2809
  async def _async_get_data_fields_by_name(self, filter: str, body: dict = None, start_from: int = 0,
2810
2810
  page_size: int = max_paging_size,
2811
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2811
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2812
2812
  """ Get the list of data class metadata elements with a matching name to the search string filter.
2813
2813
  Async version.
2814
2814
 
@@ -2824,7 +2824,7 @@ r replace_all_properties: bool, default = False
2824
2824
  - maximum number of elements to return.
2825
2825
  output_format: str, default = "DICT"
2826
2826
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2827
- columns_struct: dict, optional, default = None
2827
+ output_format_set: str|dict, optional, default = None
2828
2828
  - The desired output columns/field options.
2829
2829
 
2830
2830
  Returns
@@ -2869,11 +2869,11 @@ r replace_all_properties: bool, default = False
2869
2869
  if type(elements) is str:
2870
2870
  return NO_ELEMENTS_FOUND
2871
2871
  if output_format != 'JSON': # return other representations
2872
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2872
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2873
2873
  return elements
2874
2874
 
2875
2875
  def get_data_fields_by_name(self, filter: str, body: dict = None, start_from: int = 0,
2876
- page_size: int = max_paging_size, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2876
+ page_size: int = max_paging_size, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2877
2877
  """ Get the list of data class elements with a matching name to the search string filter.
2878
2878
 
2879
2879
  Parameters
@@ -2888,7 +2888,7 @@ r replace_all_properties: bool, default = False
2888
2888
  - maximum number of elements to return.
2889
2889
  output_format: str, default = "DICT"
2890
2890
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2891
- columns_struct: dict, optional, default = None
2891
+ output_format_set: str|dict, optional, default = None
2892
2892
  - The desired output columns/field options.
2893
2893
 
2894
2894
  Returns
@@ -2924,11 +2924,11 @@ r replace_all_properties: bool, default = False
2924
2924
 
2925
2925
  loop = asyncio.get_event_loop()
2926
2926
  response = loop.run_until_complete(
2927
- self._async_get_data_fields_by_name(filter, body, start_from, page_size, output_format, columns_struct))
2927
+ self._async_get_data_fields_by_name(filter, body, start_from, page_size, output_format, output_format_set))
2928
2928
  return response
2929
2929
 
2930
2930
  async def _async_get_data_field_by_guid(self, guid: str, body: dict = None,
2931
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2931
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2932
2932
  """ Get the data class elements for the specified GUID.
2933
2933
  Async version.
2934
2934
 
@@ -2940,7 +2940,7 @@ r replace_all_properties: bool, default = False
2940
2940
  - optional request body.
2941
2941
  output_format: str, default = "DICT"
2942
2942
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2943
- columns_struct: dict, optional, default = None
2943
+ output_format_set: str|dict, optional, default = None
2944
2944
  - The desired output columns/field options.
2945
2945
 
2946
2946
  Returns
@@ -2982,10 +2982,10 @@ r replace_all_properties: bool, default = False
2982
2982
  if type(elements) is str:
2983
2983
  return NO_ELEMENTS_FOUND
2984
2984
  if output_format != 'JSON': # return other representations
2985
- return self._generate_data_field_output(elements, None, output_format, columns_struct)
2985
+ return self._generate_data_field_output(elements, None, output_format, output_format_set)
2986
2986
  return elements
2987
2987
 
2988
- def get_data_field_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2988
+ def get_data_field_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2989
2989
  """ Get the data structure metadata element with the specified unique identifier..
2990
2990
 
2991
2991
  Parameters
@@ -2996,7 +2996,7 @@ r replace_all_properties: bool, default = False
2996
2996
  - optional request body.
2997
2997
  output_format: str, default = "DICT"
2998
2998
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2999
- columns_struct: dict, optional, default = None
2999
+ output_format_set: str|dict, optional, default = None
3000
3000
  - The desired output columns/field options.
3001
3001
 
3002
3002
  Returns
@@ -3028,7 +3028,7 @@ r replace_all_properties: bool, default = False
3028
3028
  """
3029
3029
 
3030
3030
  loop = asyncio.get_event_loop()
3031
- response = loop.run_until_complete(self._async_get_data_field_by_guid(guid, body, output_format, columns_struct))
3031
+ response = loop.run_until_complete(self._async_get_data_field_by_guid(guid, body, output_format, output_format_set))
3032
3032
  return response
3033
3033
 
3034
3034
  ###
@@ -4061,7 +4061,7 @@ r replace_all_properties: bool, default = False
4061
4061
  loop.run_until_complete(self._async_delete_data_class(data_class_guid, body, cascade))
4062
4062
 
4063
4063
  async def _async_find_all_data_classes(self, start_from: int = 0, page_size: int = max_paging_size,
4064
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4064
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4065
4065
  """ Returns a list of all data classes. Async version.
4066
4066
 
4067
4067
  Parameters
@@ -4072,7 +4072,7 @@ r replace_all_properties: bool, default = False
4072
4072
  - maximum number of elements to return.
4073
4073
  output_format: str, default = "DICT"
4074
4074
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4075
- columns_struct: dict, optional, default = None
4075
+ output_format_set: str|dict, optional, default = None
4076
4076
  - The desired output columns/field options.
4077
4077
 
4078
4078
 
@@ -4105,11 +4105,11 @@ r replace_all_properties: bool, default = False
4105
4105
  if type(elements) is str:
4106
4106
  return NO_ELEMENTS_FOUND
4107
4107
  if output_format != 'JSON': # return other representations
4108
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4108
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4109
4109
  return elements
4110
4110
 
4111
4111
  def find_all_data_classes(self, start_from: int = 0, page_size: int = max_paging_size,
4112
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4112
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4113
4113
  """ Returns a list of all data classes.
4114
4114
 
4115
4115
  Parameters
@@ -4120,7 +4120,7 @@ r replace_all_properties: bool, default = False
4120
4120
  - maximum number of elements to return.
4121
4121
  output_format: str, default = "DICT"
4122
4122
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4123
- columns_struct: dict, optional, default = None
4123
+ output_format_set: str|dict, optional, default = None
4124
4124
  - The desired output columns/field options.
4125
4125
 
4126
4126
  Returns
@@ -4140,12 +4140,12 @@ r replace_all_properties: bool, default = False
4140
4140
  """
4141
4141
 
4142
4142
  loop = asyncio.get_event_loop()
4143
- response = loop.run_until_complete(self._async_find_all_data_classes(start_from, page_size, output_format, columns_struct))
4143
+ response = loop.run_until_complete(self._async_find_all_data_classes(start_from, page_size, output_format, output_format_set))
4144
4144
  return response
4145
4145
 
4146
4146
  async def _async_find_data_classes_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
4147
4147
  starts_with: bool = True, ends_with: bool = False,
4148
- ignore_case: bool = True, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4148
+ ignore_case: bool = True, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4149
4149
  """ Retrieve the list of data class metadata elements that contain the search string.
4150
4150
  Async version.
4151
4151
 
@@ -4165,7 +4165,7 @@ r replace_all_properties: bool, default = False
4165
4165
  - If True, the case of the search string is ignored.
4166
4166
  output_format: str, default = "DICT"
4167
4167
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4168
- columns_struct: dict, optional, default = None
4168
+ output_format_set: str|dict, optional, default = None
4169
4169
  - The desired output columns/field options.
4170
4170
 
4171
4171
 
@@ -4215,12 +4215,12 @@ r replace_all_properties: bool, default = False
4215
4215
  if type(elements) is str:
4216
4216
  return NO_ELEMENTS_FOUND
4217
4217
  if output_format != 'JSON': # return other representations
4218
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4218
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4219
4219
  return elements
4220
4220
 
4221
4221
  def find_data_classes_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
4222
4222
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
4223
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4223
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4224
4224
  """ Retrieve the list of data class metadata elements that contain the search string.
4225
4225
 
4226
4226
  Parameters
@@ -4239,7 +4239,7 @@ r replace_all_properties: bool, default = False
4239
4239
  - If True, the case of the search string is ignored.
4240
4240
  output_format: str, default = "DICT"
4241
4241
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4242
- columns_struct: dict, optional, default = None
4242
+ output_format_set: str|dict, optional, default = None
4243
4243
  - The desired output columns/field options.
4244
4244
 
4245
4245
 
@@ -4276,12 +4276,12 @@ r replace_all_properties: bool, default = False
4276
4276
  loop = asyncio.get_event_loop()
4277
4277
  response = loop.run_until_complete(
4278
4278
  self._async_find_data_classes_w_body(body, start_from, page_size, starts_with, ends_with, ignore_case,
4279
- output_format, columns_struct))
4279
+ output_format, output_format_set))
4280
4280
  return response
4281
4281
 
4282
4282
  async def _async_find_data_classes(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
4283
4283
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
4284
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4284
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4285
4285
  """ Find the list of data class elements that contain the search string.
4286
4286
  Async version.
4287
4287
 
@@ -4301,7 +4301,7 @@ r replace_all_properties: bool, default = False
4301
4301
  - If True, the case of the search string is ignored.
4302
4302
  output_format: str, default = "DICT"
4303
4303
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4304
- columns_struct: dict, optional, default = None
4304
+ output_format_set: str|dict, optional, default = None
4305
4305
  - The desired output columns/field options.
4306
4306
 
4307
4307
 
@@ -4341,12 +4341,12 @@ r replace_all_properties: bool, default = False
4341
4341
  if type(elements) is str:
4342
4342
  return NO_ELEMENTS_FOUND
4343
4343
  if output_format != 'JSON': # return other representations
4344
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4344
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4345
4345
  return elements
4346
4346
 
4347
4347
  def find_data_classes(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
4348
4348
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
4349
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4349
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4350
4350
  """ Retrieve the list of data fields elements that contain the search string filter.
4351
4351
 
4352
4352
  Parameters
@@ -4365,7 +4365,7 @@ r replace_all_properties: bool, default = False
4365
4365
  - If True, the case of the search string is ignored.
4366
4366
  output_format: str, default = "DICT"
4367
4367
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4368
- columns_struct: dict, optional, default = None
4368
+ output_format_set: str|dict, optional, default = None
4369
4369
  - The desired output columns/field options.
4370
4370
 
4371
4371
 
@@ -4389,12 +4389,12 @@ r replace_all_properties: bool, default = False
4389
4389
  loop = asyncio.get_event_loop()
4390
4390
  response = loop.run_until_complete(
4391
4391
  self._async_find_data_classes(filter, start_from, page_size, starts_with, ends_with, ignore_case,
4392
- output_format, columns_struct))
4392
+ output_format, output_format_set))
4393
4393
  return response
4394
4394
 
4395
4395
  async def _async_get_data_classes_by_name(self, filter: str, body: dict = None, start_from: int = 0,
4396
4396
  page_size: int = max_paging_size,
4397
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4397
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4398
4398
  """ Get the list of data class metadata elements with a matching name to the search string filter.
4399
4399
  Async version.
4400
4400
 
@@ -4410,7 +4410,7 @@ r replace_all_properties: bool, default = False
4410
4410
  - maximum number of elements to return.
4411
4411
  output_format: str, default = "DICT"
4412
4412
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4413
- columns_struct: dict, optional, default = None
4413
+ output_format_set: str|dict, optional, default = None
4414
4414
  - The desired output columns/field options.
4415
4415
 
4416
4416
  Returns
@@ -4455,11 +4455,11 @@ r replace_all_properties: bool, default = False
4455
4455
  if type(elements) is str:
4456
4456
  return NO_ELEMENTS_FOUND
4457
4457
  if output_format != 'JSON': # return other representations
4458
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4458
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4459
4459
  return elements
4460
4460
 
4461
4461
  def get_data_classes_by_name(self, filter: str, body: dict = None, start_from: int = 0,
4462
- page_size: int = max_paging_size, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4462
+ page_size: int = max_paging_size, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4463
4463
  """ Get the list of data class elements with a matching name to the search string filter.
4464
4464
 
4465
4465
  Parameters
@@ -4474,7 +4474,7 @@ r replace_all_properties: bool, default = False
4474
4474
  - maximum number of elements to return.
4475
4475
  output_format: str, default = "DICT"
4476
4476
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4477
- columns_struct: dict, optional, default = None
4477
+ output_format_set: str|dict, optional, default = None
4478
4478
  - The desired output columns/field options.
4479
4479
 
4480
4480
 
@@ -4506,16 +4506,15 @@ r replace_all_properties: bool, default = False
4506
4506
  "filter": "Add name here"
4507
4507
  }
4508
4508
 
4509
-
4510
4509
  """
4511
4510
 
4512
4511
  loop = asyncio.get_event_loop()
4513
4512
  response = loop.run_until_complete(
4514
- self._async_get_data_classes_by_name(filter, body, start_from, page_size, output_format, columns_struct))
4513
+ self._async_get_data_classes_by_name(filter, body, start_from, page_size, output_format, output_format_set))
4515
4514
  return response
4516
4515
 
4517
4516
  async def _async_get_data_class_by_guid(self, guid: str, body: dict = None,
4518
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4517
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4519
4518
  """ Get the data class elements for the specified GUID.
4520
4519
  Async version.
4521
4520
 
@@ -4527,7 +4526,7 @@ r replace_all_properties: bool, default = False
4527
4526
  - optional request body.
4528
4527
  output_format: str, default = "DICT"
4529
4528
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4530
- columns_struct: dict, optional, default = None
4529
+ output_format_set: str|dict, optional, default = None
4531
4530
  - The desired output columns/field options.
4532
4531
 
4533
4532
  Returns
@@ -4568,10 +4567,10 @@ r replace_all_properties: bool, default = False
4568
4567
  if type(elements) is str:
4569
4568
  return NO_ELEMENTS_FOUND
4570
4569
  if output_format != 'JSON': # return other representations
4571
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4570
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4572
4571
  return elements
4573
4572
 
4574
- def get_data_class_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4573
+ def get_data_class_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4575
4574
  """ Get the data structure metadata element with the specified unique identifier..
4576
4575
 
4577
4576
  Parameters
@@ -4582,7 +4581,7 @@ r replace_all_properties: bool, default = False
4582
4581
  - optional request body.
4583
4582
  output_format: str, default = "DICT"
4584
4583
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4585
- columns_struct: dict, optional, default = None
4584
+ output_format_set: str|dict, optional, default = None
4586
4585
  - The desired output columns/field options.
4587
4586
 
4588
4587
  Returns
@@ -4614,7 +4613,7 @@ r replace_all_properties: bool, default = False
4614
4613
  """
4615
4614
 
4616
4615
  loop = asyncio.get_event_loop()
4617
- response = loop.run_until_complete(self._async_get_data_class_by_guid(guid, body, output_format, columns_struct))
4616
+ response = loop.run_until_complete(self._async_get_data_class_by_guid(guid, body, output_format, output_format_set))
4618
4617
  return response
4619
4618
 
4620
4619
  ###
@@ -5381,7 +5380,8 @@ r replace_all_properties: bool, default = False
5381
5380
  )
5382
5381
 
5383
5382
 
5384
- def _generate_data_structure_output(self, elements, filter, output_format, columns_struct) -> str | list:
5383
+ def _generate_data_structure_output(self, elements: dict|list[dict], filter:str = None,
5384
+ output_format: str = "DICT", output_format_set: str|dict = None) -> str | list:
5385
5385
  """
5386
5386
  Generate output for data structures in the specified format.
5387
5387
 
@@ -5394,20 +5394,27 @@ r replace_all_properties: bool, default = False
5394
5394
  Formatted output as string or list of dictionaries
5395
5395
  """
5396
5396
  entity_type = "Data Structure"
5397
- if columns_struct is None:
5398
- columns_struct = select_output_format_set(entity_type, output_format)
5399
-
5400
-
5397
+ if output_format_set is None:
5398
+ output_format_set = select_output_format_set(entity_type, output_format)
5399
+
5400
+ if output_format_set:
5401
+ if isinstance(output_format_set, str):
5402
+ output_formats = select_output_format_set(output_format_set, output_format)
5403
+ if isinstance(output_format_set, dict):
5404
+ output_formats = get_output_format_type_match(output_format_set, output_format)
5405
+ else:
5406
+ output_formats = None
5407
+ logger.trace(f"Executing _generate_data_structure_output for {entity_type}: {output_formats}")
5401
5408
  return generate_output(elements,
5402
5409
  filter,
5403
5410
  entity_type,
5404
5411
  output_format,
5405
5412
  self._extract_data_structure_properties,
5406
5413
  None,
5407
- columns_struct,
5414
+ output_formats,
5408
5415
  )
5409
5416
 
5410
- def _generate_data_class_output(self, elements: dict, filter: str, output_format: str, columns_struct: dict = None) -> str | list:
5417
+ def _generate_data_class_output(self, elements: dict|list[dict], filter: str = None, output_format: str = "DICT", output_format_set: str|dict = None) -> str | list:
5411
5418
  """
5412
5419
  Generate output for data classes in the specified format.
5413
5420
 
@@ -5415,26 +5422,34 @@ r replace_all_properties: bool, default = False
5415
5422
  elements: Dictionary or list of dictionaries containing data class elements
5416
5423
  filter: The search string used to find the elements
5417
5424
  output_format: The desired output format (MD, FORM, REPORT, LIST, DICT, MERMAID, HTML)
5418
- columns_struct: Optional columns structure
5425
+ output_format_set: Optional output format set
5419
5426
  - Option column/attribute selection and definition.
5420
5427
  Returns:
5421
5428
  Formatted output as either a string or list of dictionaries
5422
5429
  """
5423
5430
  entity_type = "Data Class"
5424
- if columns_struct is None:
5425
- columns_struct = select_output_format_set(entity_type, output_format)
5426
-
5431
+ if output_format_set is None:
5432
+ output_format_set = select_output_format_set(entity_type, output_format)
5433
+
5434
+ if output_format_set:
5435
+ if isinstance(output_format_set, str):
5436
+ output_formats = select_output_format_set(output_format_set, output_format)
5437
+ if isinstance(output_format_set, dict):
5438
+ output_formats = get_output_format_type_match(output_format_set, output_format)
5439
+ else:
5440
+ output_formats = None
5441
+ logger.trace(f"Executing _generate_data_class_output for {entity_type}: {output_formats}")
5427
5442
  return generate_output(elements,
5428
5443
  filter,
5429
5444
  entity_type,
5430
5445
  output_format,
5431
5446
  self._extract_data_class_properties,
5432
5447
  None,
5433
- columns_struct,
5448
+ output_formats,
5434
5449
  )
5435
5450
 
5436
- def _generate_data_field_output(self, elements: dict, filter: str, output_format: str,
5437
- columns_struct: dict = None) -> str | list:
5451
+ def _generate_data_field_output(self, elements: dict|list[dict], filter: str = None, output_format: str = "DICT",
5452
+ output_format_set: str|dict = None) -> str | list:
5438
5453
  """
5439
5454
  Generate output for data fields in the specified format.
5440
5455
 
@@ -5442,24 +5457,32 @@ r replace_all_properties: bool, default = False
5442
5457
  elements: Dictionary or list of dictionaries containing data field elements
5443
5458
  filter: The search string used to find the elements
5444
5459
  output_format: The desired output format (MD, FORM, REPORT, LIST, DICT, MERMAID, HTML)
5445
- columns_struct: dict, Optional, default = None
5460
+ output_format_set: str|dict, Optional, default = None
5446
5461
  - Option column/attribute selection and definition.
5447
5462
 
5448
5463
  Returns:
5449
5464
  Formatted output as a string or list of dictionaries
5450
5465
  """
5451
5466
  entity_type = "Data Field"
5452
- if columns_struct is None:
5453
- columns_struct = select_output_format_set(entity_type, output_format)
5454
-
5467
+ if output_format_set is None:
5468
+ output_format_set = select_output_format_set(entity_type, output_format)
5469
+
5470
+ if output_format_set:
5471
+ if isinstance(output_format_set, str):
5472
+ output_formats = select_output_format_set(output_format_set, output_format)
5473
+ if isinstance(output_format_set, dict):
5474
+ output_formats = get_output_format_type_match(output_format_set, output_format)
5475
+ else:
5476
+ output_formats = None
5477
+ logger.trace(f"Executing _generate_data_field_output for {entity_type}: {output_formats}")
5455
5478
  return generate_output(elements,
5456
- filter,
5457
- entity_type,
5458
- output_format,
5459
- self._extract_data_field_properties,
5460
- None,
5461
- columns_struct,
5462
- )
5479
+ filter,
5480
+ entity_type,
5481
+ output_format,
5482
+ self._extract_data_field_properties,
5483
+ None,
5484
+ output_formats,
5485
+ )
5463
5486
 
5464
5487
 
5465
5488