Skip to content

Commit

Permalink
Fixed linters
Browse files Browse the repository at this point in the history
  • Loading branch information
svdimchenko committed Sep 5, 2023
1 parent ec6a111 commit 87845b7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 14 deletions.
27 changes: 14 additions & 13 deletions dbt/adapters/athena/lakeformation.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,12 @@ def __init__(self, lf_client: LakeFormationClient, relation: AthenaRelation, lf_
self.lf_tags_columns = lf_tags_config.tags_columns

def process_lf_tags_database(self) -> None:
database_resource = {"Database": {"Name": self.database}}
response = self.lf_client.add_lf_tags_to_resource(
Resource=database_resource, LFTags=[{"TagKey": k, "TagValues": [v]} for k, v in self.lf_tags.items()]
)
logger.debug(self._parse_lf_response(response, None, self.lf_tags))
if self.lf_tags:
database_resource = {"Database": {"Name": self.database}}
response = self.lf_client.add_lf_tags_to_resource(
Resource=database_resource, LFTags=[{"TagKey": k, "TagValues": [v]} for k, v in self.lf_tags.items()]
)
self._parse_and_log_lf_response(response, None, self.lf_tags)

def process_lf_tags(self) -> None:
table_resource = {"Table": {"DatabaseName": self.database, "Name": self.table}}
Expand Down Expand Up @@ -72,7 +73,7 @@ def _remove_lf_tags_columns(self, existing_lf_tags: GetResourceLFTagsResponseTyp
response = self.lf_client.remove_lf_tags_from_resource(
Resource=resource, LFTags=[{"TagKey": tag_key, "TagValues": [tag_value]}]
)
logger.debug(self._parse_lf_response(response, columns, {tag_key: tag_value}, "remove"))
self._parse_and_log_lf_response(response, columns, {tag_key: tag_value}, "remove")

def _apply_lf_tags_table(
self, table_resource: ResourceTypeDef, existing_lf_tags: GetResourceLFTagsResponseTypeDef
Expand All @@ -91,13 +92,13 @@ def _apply_lf_tags_table(
response = self.lf_client.remove_lf_tags_from_resource(
Resource=table_resource, LFTags=[{"TagKey": k, "TagValues": v} for k, v in to_remove.items()]
)
logger.debug(self._parse_lf_response(response, None, self.lf_tags, "remove"))
self._parse_and_log_lf_response(response, None, self.lf_tags, "remove")

if self.lf_tags:
response = self.lf_client.add_lf_tags_to_resource(
Resource=table_resource, LFTags=[{"TagKey": k, "TagValues": [v]} for k, v in self.lf_tags.items()]
)
logger.debug(self._parse_lf_response(response, None, self.lf_tags))
self._parse_and_log_lf_response(response, None, self.lf_tags)

def _apply_lf_tags_columns(self) -> None:
if self.lf_tags_columns:
Expand All @@ -110,15 +111,15 @@ def _apply_lf_tags_columns(self) -> None:
Resource=resource,
LFTags=[{"TagKey": tag_key, "TagValues": [tag_value]}],
)
logger.debug(self._parse_lf_response(response, columns, {tag_key: tag_value}))
self._parse_and_log_lf_response(response, columns, {tag_key: tag_value})

def _parse_lf_response(
def _parse_and_log_lf_response(
self,
response: Union[AddLFTagsToResourceResponseTypeDef, RemoveLFTagsFromResourceResponseTypeDef],
columns: Optional[List[str]] = None,
lf_tags: Optional[Dict[str, str]] = None,
verb: str = "add"
) -> str:
verb: str = "add",
) -> None:
table_appendix = f".{self.table}" if self.table else ""
columns_appendix = f" for columns {columns}" if columns else ""
resource_msg = self.database + table_appendix + columns_appendix
Expand All @@ -129,7 +130,7 @@ def _parse_lf_response(
error = failure.get("Error", {}).get("ErrorMessage")
logger.error(f"Failed to {verb} {tag} for " + resource_msg + f" - {error}")
raise DbtRuntimeError(base_msg)
return f"Success: {verb} LF tags {lf_tags} to " + resource_msg
logger.debug(f"Success: {verb} LF tags {lf_tags} to " + resource_msg)


class FilterConfig(BaseModel):
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test_lakeformation.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ def test__parse_lf_response(self, response, columns, lf_tags, verb, expected):
relation = AthenaRelation.create(database=DATA_CATALOG_NAME, schema=DATABASE_NAME, identifier="tbl_name")
lf_client = boto3.client("lakeformation", region_name=AWS_REGION)
manager = LfTagsManager(lf_client, relation, LfTagsConfig())
assert manager._parse_lf_response(response, columns, lf_tags, verb) == expected
assert manager._parse_and_log_lf_response(response, columns, lf_tags, verb) == expected

0 comments on commit 87845b7

Please sign in to comment.