diff --git a/uncoder-core/app/translator/core/custom_types/time.py b/uncoder-core/app/translator/core/custom_types/time.py index 1d5f15b8..4cdc71fe 100644 --- a/uncoder-core/app/translator/core/custom_types/time.py +++ b/uncoder-core/app/translator/core/custom_types/time.py @@ -7,3 +7,17 @@ class TimeFrameType(CustomEnum): days = "days" hours = "hours" minutes = "minutes" + + +class TimePartType(CustomEnum): + day = "day" + day_of_week = "day_of_week" + day_of_year = "day_of_year" + hour = "hour" + microsecond = "microsecond" + millisecond = "millisecond" + minute = "minute" + month = "month" + quarter = "quarter" + second = "second" + year = "year" diff --git a/uncoder-core/app/translator/core/exceptions/core.py b/uncoder-core/app/translator/core/exceptions/core.py index 75af5d6e..47810576 100644 --- a/uncoder-core/app/translator/core/exceptions/core.py +++ b/uncoder-core/app/translator/core/exceptions/core.py @@ -13,12 +13,14 @@ class StrictPlatformException(BasePlatformException): field_name: str = None def __init__( - self, platform_name: str, field_name: str, mapping: str = None, detected_fields: Optional[list] = None + self, platform_name: str, field_name: str, mapping: Optional[str] = None, detected_fields: Optional[list] = None ): message = ( f"Platform {platform_name} has strict mapping. " f"Source fields: {', '.join(detected_fields) if detected_fields else field_name} has no mapping." - f" Mapping file: {mapping}." if mapping else "" + f" Mapping file: {mapping}." + if mapping + else "" ) self.field_name = field_name super().__init__(message) diff --git a/uncoder-core/app/translator/core/render.py b/uncoder-core/app/translator/core/render.py index 8680ebff..b326cf96 100644 --- a/uncoder-core/app/translator/core/render.py +++ b/uncoder-core/app/translator/core/render.py @@ -263,16 +263,14 @@ def apply_token(self, token: Union[FieldValue, Keyword, Identifier], source_mapp def generate_query(self, tokens: list[TOKEN_TYPE], source_mapping: SourceMapping) -> str: result_values = [] - not_found_mapping_fields = set() + unmapped_fields = set() for token in tokens: try: result_values.append(self.apply_token(token=token, source_mapping=source_mapping)) except StrictPlatformException as err: - not_found_mapping_fields.add(err.field_name) - if not_found_mapping_fields: - raise StrictPlatformException( - self.details.name, "", source_mapping.source_id, sorted(list(not_found_mapping_fields)) - ) + unmapped_fields.add(err.field_name) + if unmapped_fields: + raise StrictPlatformException(self.details.name, "", source_mapping.source_id, sorted(unmapped_fields)) return "".join(result_values) def wrap_query_with_meta_info(self, meta_info: MetaInfoContainer, query: str) -> str: pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy