Skip to content

Commit 9608fa8

Browse files
authored
allow exluding datasets from taxonomy (#1345)
* allow exluding datasets from taxonomy * add support for focus fields
1 parent 6395c77 commit 9608fa8

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

cid/helpers/quicksight/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1363,6 +1363,9 @@ def _build_params_for_create_update_dash(self, definition: dict) -> Dict:
13631363
for dataset_reference in dataset_references:
13641364
dataset = self.describe_dataset(dataset_reference['DataSetArn'].split('/')[-1])
13651365
all_columns = dataset.raw['OutputColumns']
1366+
if dataset.name in definition.get('nonTaxonomyDatasets', []):
1367+
logger.critical(f'Skipping {dataset.name}')
1368+
continue
13661369
logger.debug(f'{dataset_references}: {all_columns}')
13671370
if common_columns is None:
13681371
common_columns = all_columns

cid/helpers/quicksight/dashboard_patching.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,13 @@ def format_field_name(field_name: str, ignore_prefix: bool=False) -> str:
3333
assert format_field_name('tag_service') == 'Tag Service'
3434
assert format_field_name('ServiceCode') == 'Service Code'
3535
"""
36+
# Handle lowercase strings without underscores by inserting spaces at word boundaries (mainly for focus)
37+
if field_name.islower() and '_' not in field_name:
38+
field_name = re.sub(r'(account|period|discount|unit|price|category|name|id|cost|quantity)', r'_\1', field_name)
3639
# First, handle camelCase by inserting underscores before uppercase letters
3740
field_name = re.sub(r'([a-z])([A-Z])', r'\1_\2', field_name) # This converts "ServiceCode" to "Service_Code"
3841
field_name = field_name.lower()
39-
parts = field_name.split('_')
42+
parts = [part for part in field_name.split('_') if part]
4043
result = []
4144
i = 0
4245
while i < len(parts):

0 commit comments

Comments
 (0)