Skip to content

Commit c4ab2a2

Browse files
authored
Merge pull request #28 from atlanhq/sales_246
Add functions to client to Update and Remove Announcements
2 parents 82893e8 + a7b81db commit c4ab2a2

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

pyatlan/client/atlan.py

+25
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
View,
5050
)
5151
from pyatlan.model.core import (
52+
Announcement,
5253
AssetRequest,
5354
AssetResponse,
5455
AtlanObject,
@@ -543,3 +544,27 @@ def remove_certificate(
543544
asset.name = name
544545
asset.remove_certificate()
545546
return self._update_asset_by_attribute(asset, asset_type, qualified_name)
547+
548+
@validate_arguments()
549+
def update_announcement(
550+
self,
551+
asset_type: Type[A],
552+
qualified_name: str,
553+
name: str,
554+
announcement: Announcement,
555+
) -> Optional[A]:
556+
asset = asset_type()
557+
asset.qualified_name = qualified_name
558+
asset.set_announcement(announcement)
559+
asset.name = name
560+
return self._update_asset_by_attribute(asset, asset_type, qualified_name)
561+
562+
@validate_arguments()
563+
def remove_announcement(
564+
self, asset_type: Type[A], qualified_name: str, name: str
565+
) -> Optional[A]:
566+
asset = asset_type()
567+
asset.qualified_name = qualified_name
568+
asset.name = name
569+
asset.remove_announcement()
570+
return self._update_asset_by_attribute(asset, asset_type, qualified_name)

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
setup(
3131
name="pyatlan",
32-
version="0.0.13",
32+
version="0.0.14",
3333
author="Atlan Pte, Ltd",
3434
author_email="[email protected]",
3535
description="Atlan Python Client",

tests/integration/test_entity_model.py

+21
Original file line numberDiff line numberDiff line change
@@ -670,3 +670,24 @@ def test_update_remove_certificate(client: AtlanClient):
670670
assert asset is not None
671671
assert asset.certificate_status is None
672672
assert asset.certificate_status_message is None
673+
674+
675+
def test_update_remove_announcement(client: AtlanClient, announcement: Announcement):
676+
glossary = AtlasGlossary.create("Integration Announcement Test")
677+
glossary.attributes.user_description = "This is a description of the glossary"
678+
glossary = client.upsert(glossary).assets_created(AtlasGlossary)[0]
679+
asset = client.update_announcement(
680+
asset_type=AtlasGlossary,
681+
qualified_name=glossary.qualified_name,
682+
name=glossary.name,
683+
announcement=announcement,
684+
)
685+
assert asset is not None
686+
assert asset.get_announcment() == announcement
687+
asset = client.remove_announcement(
688+
asset_type=AtlasGlossary,
689+
qualified_name=glossary.qualified_name,
690+
name=glossary.name,
691+
)
692+
assert asset is not None
693+
assert asset.get_announcment() is None

0 commit comments

Comments
 (0)