Skip to content

Commit 8e606ca

Browse files
committed
gis-9415 add exception fro alternative mappings
1 parent 9a9632f commit 8e606ca

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

uncoder-core/app/translator/core/exceptions/core.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ def __init__(self, platform: str, is_parser: bool = False):
4242
super().__init__(message)
4343

4444

45+
class UnsupportedPlatformAlternativeMapping(BasePlatformException):
46+
def __init__(self, platform: str, alt_mapping: str):
47+
message = (
48+
f"The selected data schema '{alt_mapping}' doesn't have a field mapping for this log source in {platform}."
49+
)
50+
super().__init__(message)
51+
52+
4553
class UnsupportedRootAParser(BasePlatformException):
4654
def __init__(self, parser: str):
4755
message = (

uncoder-core/app/translator/core/mapping.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
from abc import ABC, abstractmethod
44
from typing import TYPE_CHECKING, Optional, TypeVar, Union
55

6-
from app.translator.core.exceptions.core import StrictPlatformException, UnsupportedMappingsException
6+
from app.translator.core.exceptions.core import (
7+
StrictPlatformException,
8+
UnsupportedMappingsException,
9+
UnsupportedPlatformAlternativeMapping,
10+
)
711
from app.translator.core.models.platform_details import PlatformDetails
812
from app.translator.mappings.utils.load_from_files import LoaderFileMappings
913

@@ -205,7 +209,9 @@ def get_source_mapping(self, source_id: str) -> Optional[SourceMapping]:
205209
return self._source_mappings.get(source_id)
206210

207211
def get_alternative_source_mapping(self, alt_config_name: str, source_id: str) -> Optional[SourceMapping]:
208-
return self._alternative_mappings.get(alt_config_name, {}).get(source_id)
212+
if self._alternative_mappings.get(alt_config_name):
213+
return self._alternative_mappings.get(alt_config_name).get(source_id)
214+
raise UnsupportedPlatformAlternativeMapping(platform=self.details.platform_id, alt_mapping=alt_config_name)
209215

210216
def get_source_mappings_by_ids(
211217
self, source_mapping_ids: list[str], return_default: bool = True

0 commit comments

Comments
 (0)
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