|
4 | 4 |
|
5 | 5 | from typing import TYPE_CHECKING, Dict, List, Optional, cast |
6 | 6 |
|
| 7 | +from pydantic.v1 import validate_arguments |
| 8 | + |
7 | 9 | from pyatlan.client.asset import ( |
8 | 10 | AssetCreationHandling, |
9 | 11 | AssetIdentity, |
|
15 | 17 | from pyatlan.model.fluent_search import FluentSearch |
16 | 18 | from pyatlan.model.response import AssetMutationResponse |
17 | 19 | from pyatlan.model.search import DSL |
18 | | -from pyatlan.validate import _is_model_instance, validate_arguments |
19 | 20 |
|
20 | 21 | if TYPE_CHECKING: |
21 | 22 | from pyatlan.client.aio.client import AsyncAtlanClient |
@@ -409,10 +410,11 @@ def _track_response(self, response: AssetMutationResponse, sent: list[Asset]): |
409 | 410 |
|
410 | 411 | @staticmethod |
411 | 412 | def __track(tracker: List[Asset], candidate: Asset): |
412 | | - if _is_model_instance(candidate, AtlasGlossaryTerm): |
413 | | - # trim_to_required for AtlasGlossaryTerm requires anchor |
414 | | - # which is not include in AssetMutationResponse |
415 | | - asset = cast(Asset, AtlasGlossaryTerm.ref_by_guid(candidate.guid)) |
| 413 | + if ( |
| 414 | + isinstance(candidate, AtlasGlossaryTerm) |
| 415 | + or getattr(candidate, "type_name", None) == "AtlasGlossaryTerm" |
| 416 | + ): |
| 417 | + asset = cast(Asset, type(candidate).ref_by_guid(candidate.guid)) |
416 | 418 | else: |
417 | 419 | asset = candidate.trim_to_required() |
418 | 420 | asset.name = candidate.name |
|
0 commit comments