pyegeria 1.5.1.1.36__py3-none-any.whl → 1.5.1.1.38__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.
@@ -2308,6 +2308,119 @@ class GlossaryManager(GlossaryBrowser):
2308
2308
 
2309
2309
  return
2310
2310
 
2311
+ async def _async_update_term(
2312
+ self,
2313
+ glossary_term_guid: str,
2314
+ body: dict,
2315
+ is_merge_update: bool,
2316
+ ) -> None:
2317
+ """Add the data field values classification to a glossary term
2318
+
2319
+ Async Version.
2320
+
2321
+ Parameters
2322
+ ----------
2323
+ glossary_term_guid: str
2324
+ Unique identifier for the source glossary term.
2325
+ body: dict
2326
+ Body containing information about the data field to add
2327
+ is_merge_update: bool
2328
+ Whether the data field values should be merged with existing definition or replace it.
2329
+
2330
+
2331
+ Returns
2332
+ -------
2333
+ None
2334
+
2335
+ Raises
2336
+ ------
2337
+ InvalidParameterException
2338
+ If the client passes incorrect parameters on the request - such as bad URLs or invalid values.
2339
+ PropertyServerException
2340
+ Raised by the server when an issue arises in processing a valid request.
2341
+ NotAuthorizedException
2342
+ The principle specified by the user_id does not have authorization for the requested action.
2343
+ Notes
2344
+ -----
2345
+ An example body is:
2346
+
2347
+ {
2348
+ "class" : "ReferenceableRequestBody",
2349
+ "elementProperties" :
2350
+ {
2351
+ "class" : "GlossaryTermProperties",
2352
+ "description" : "This is the long description of the term. And this is some more text."
2353
+ },
2354
+ "updateDescription" : "Final updates based on in-house review comments."
2355
+ }
2356
+
2357
+ """
2358
+
2359
+ validate_guid(glossary_term_guid)
2360
+ is_merge_update_s = str(is_merge_update).lower()
2361
+
2362
+ url = (
2363
+ f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/glossary-manager/terms/{glossary_term_guid}/"
2364
+ f"update?isMergeUpdate={is_merge_update_s}"
2365
+ )
2366
+
2367
+ await self._async_make_request("POST", url, body)
2368
+ return
2369
+
2370
+ def update_term(
2371
+ self,
2372
+ glossary_term_guid: str,
2373
+ body: dict,
2374
+ is_merge_update: bool,
2375
+ ) -> None:
2376
+ """Add the data field values classification to a glossary term
2377
+
2378
+ Async Version.
2379
+
2380
+ Parameters
2381
+ ----------
2382
+ glossary_term_guid: str
2383
+ Unique identifier for the source glossary term.
2384
+ body: dict
2385
+ Body containing information about the data field to add
2386
+ is_merge_update: bool
2387
+ Whether the data field values should be merged with existing definition or replace it.
2388
+
2389
+
2390
+ Returns
2391
+ -------
2392
+ None
2393
+
2394
+ Raises
2395
+ ------
2396
+ InvalidParameterException
2397
+ If the client passes incorrect parameters on the request - such as bad URLs or invalid values.
2398
+ PropertyServerException
2399
+ Raised by the server when an issue arises in processing a valid request.
2400
+ NotAuthorizedException
2401
+ The principle specified by the user_id does not have authorization for the requested action.
2402
+ Notes
2403
+ -----
2404
+ An example body is:
2405
+
2406
+ {
2407
+ "class" : "ReferenceableRequestBody",
2408
+ "elementProperties" :
2409
+ {
2410
+ "class" : "GlossaryTermProperties",
2411
+ "description" : "This is the long description of the term. And this is some more text."
2412
+ },
2413
+ "updateDescription" : "Final updates based on in-house review comments."
2414
+ }
2415
+
2416
+ """
2417
+ loop = asyncio.get_event_loop()
2418
+ loop.run_until_complete(
2419
+ self._async_update_term(glossary_term_guid, body, is_merge_update)
2420
+ )
2421
+
2422
+ return
2423
+
2311
2424
  async def _async_update_term_version_id(
2312
2425
  self,
2313
2426
  glossary_term_guid: str,
@@ -2512,30 +2625,26 @@ class GlossaryManager(GlossaryBrowser):
2512
2625
 
2513
2626
  return response
2514
2627
 
2515
- async def _async_get_terms_for_glossary(
2628
+ async def _async_delete_term(
2516
2629
  self,
2517
- glossary_guid: str,
2518
- effective_time: str = None,
2519
- start_from: int = 0,
2520
- page_size: int = None,
2630
+ term_guid: str,
2631
+ for_lineage: bool = False,
2632
+ for_duplicate_processing: bool = False,
2521
2633
  ) -> list | str:
2522
- """Retrieve the list of glossary terms associated with a glossary.
2523
- The request body also supports the specification of an effective time for the query.
2634
+ """Delete the glossary terms associated with the specified glossary. Async version.
2635
+
2524
2636
  Parameters
2525
2637
  ----------
2526
- glossary_guid : str
2527
- Unique identifier for the glossary
2528
- effective_time : str, optional
2529
- If specified, terms are potentially included if they are active at the`effective_time.
2530
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)`
2531
- start_from: int, optional defaults to 0
2532
- The page number to start retrieving elements from
2533
- page_size : int, optional defaults to None
2534
- The number of elements to retrieve
2638
+ term_guid : str,
2639
+ The unique identifier for the term to delete.
2640
+ for_lineage: bool, opt, default = False
2641
+ Set true for lineage processing - generally false.
2642
+ for_duplicate_processing: bool, opt, default = False
2643
+ Set true if duplicate processing handled externally - generally set False.
2644
+
2535
2645
  Returns
2536
2646
  -------
2537
- dict
2538
- The glossary definition associated with the glossary_guid
2647
+ None
2539
2648
 
2540
2649
  Raises
2541
2650
  ------
@@ -2549,48 +2658,36 @@ class GlossaryManager(GlossaryBrowser):
2549
2658
  -----
2550
2659
  """
2551
2660
 
2552
- validate_guid(glossary_guid)
2553
-
2554
- if page_size is None:
2555
- page_size = self.page_size
2661
+ validate_guid(term_guid)
2556
2662
 
2557
2663
  url = (
2558
- f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/glossary-browser/glossaries/"
2559
- f"{glossary_guid}/terms/retrieve?startFrom={start_from}&pageSize={page_size}"
2664
+ f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/glossary-manager/glossaries/"
2665
+ f"terms/{term_guid}/remove?forLineage={for_lineage}&forDuplicateProcessing={for_duplicate_processing}"
2560
2666
  )
2561
2667
 
2562
- if effective_time is not None:
2563
- body = {"effectiveTime": effective_time}
2564
- response = await self._async_make_request("POST", url, body)
2565
- else:
2566
- response = await self._async_make_request("POST", url)
2567
-
2568
- return response.json().get("elementList", "No terms found")
2668
+ await self._async_make_request("POST", url)
2669
+ return
2569
2670
 
2570
- def get_terms_for_glossary(
2671
+ def delete_term(
2571
2672
  self,
2572
- glossary_guid: str,
2573
- effective_time: str = None,
2574
- start_from: int = 0,
2575
- page_size: int = None,
2673
+ term_guid: str,
2674
+ for_lineage: bool = False,
2675
+ for_duplicate_processing: bool = False,
2576
2676
  ) -> list | str:
2577
- """Retrieve the list of glossary terms associated with a glossary.
2578
- The request body also supports the specification of an effective time for the query.
2677
+ """Delete the glossary terms associated with the specified glossary.
2678
+
2579
2679
  Parameters
2580
2680
  ----------
2581
- glossary_guid : str
2582
- Unique identifier for the glossary
2583
- effective_time : str, optional
2584
- If specified, terms are potentially returned if they are active at the `effective_time`
2585
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
2586
- start_from: int, optional defaults to 0
2587
- The page number to start retrieving elements from
2588
- page_size : int, optional defaults to None
2589
- The number of elements to retrieve
2681
+ term_guid : str,
2682
+ The unique identifier for the term to delete.
2683
+ for_lineage: bool, opt, default = False
2684
+ Set true for lineage processing - generally false.
2685
+ for_duplicate_processing: bool, opt, default = False
2686
+ Set true if duplicate processing handled externally - generally set False.
2687
+
2590
2688
  Returns
2591
2689
  -------
2592
- dict
2593
- The glossary definition associated with the glossary_guid
2690
+ None
2594
2691
 
2595
2692
  Raises
2596
2693
  ------
@@ -2604,13 +2701,11 @@ class GlossaryManager(GlossaryBrowser):
2604
2701
  -----
2605
2702
  """
2606
2703
  loop = asyncio.get_event_loop()
2607
- response = loop.run_until_complete(
2608
- self._async_get_terms_for_glossary(
2609
- glossary_guid, effective_time, start_from, page_size
2610
- )
2704
+ loop.run_until_complete(
2705
+ self._async_delete_term(term_guid, for_lineage, for_duplicate_processing)
2611
2706
  )
2612
2707
 
2613
- return response
2708
+ return
2614
2709
 
2615
2710
  async def _async_get_term_relationships(
2616
2711
  self,