license:other region:us
---
license: other
---
from enum import Enum
from uuid import UUID
from typing import Optional, Union, List


class HashType(Enum):
    SHA256 = "SHA256"


class URL(Enum):
    FILES = "/Files"
    URL_FILES = "/files"


class File:
    url: URL
    file_name: str
    hash_type: HashType
    hash: str
    size: int

    def __init__(self, url: URL, file_name: str, hash_type: HashType, hash: str, size: int) -> None:
        self.url = url
        self.file_name = file_name
        self.hash_type = hash_type
        self.hash = hash
        self.size = size


class FeatueExtractorConfiguration:
    file: File

    def __init__(self, file: File) -> None:
        self.file = file


class FeatureInfoElement:
    feature_id: str
    min_weight: str

    def __init__(self, feature_id: str, min_weight: str) -> None:
        self.feature_id = feature_id
        self.min_weight = min_weight


class FeatueExtractorFeatures:
    feature_info: FeatureInfoElement

    def __init__(self, feature_info: FeatureInfoElement) -> None:
        self.feature_info = feature_info


class Level(Enum):
    COLUMN_DATA = "ColumnData"
    COLUMN_SCHEMA = "ColumnSchema"


class TypeEnum(Enum):
    BLOOMIER_FILTER = "BloomierFilter"
    CHECK_DIGIT_VALIDATOR = "CheckDigitValidator"
    CREDIT_CARD = "CreditCard"
    DICTIONARY = "Dictionary"
    HYBRID = "Hybrid"
    MIME = "Mime"
    MODEL_METADATA = "ModelMetadata"
    NUMERIC = "Numeric"
    REG_EX = "RegEx"


class FeatueExtractor:
    id: UUID
    version: int
    configuration: FeatueExtractorConfiguration
    features: FeatueExtractorFeatures
    type: TypeEnum
    level: Level

    def __init__(self, id: UUID, version: int, configuration: FeatueExtractorConfiguration, features: FeatueExtractorFeatures, type: TypeEnum, level: Level) -> None:
        self.id = id
        self.version = version
        self.configuration = configuration
        self.features = features
        self.type = type
        self.level = level


class DataClass:
    cdata: str

    def __init__(self, cdata: str) -> None:
        self.cdata = cdata


class FeatureExtractorConfiguration:
    file: Optional[File]
    data: Union[DataClass, None, str]
    text: Optional[str]

    def __init__(self, file: Optional[File], data: Union[DataClass, None, str], text: Optional[str]) -> None:
        self.file = file
        self.data = data
        self.text = text


class FeatureExtractorFeatures:
    feature_info: Union[List[FeatureInfoElement], FeatureInfoElement]

    def __init__(self, feature_info: Union[List[FeatureInfoElement], FeatureInfoElement]) -> None:
        self.feature_info = feature_info


class FeatureExtractor:
    id: str
    version: int
    configuration: FeatureExtractorConfiguration
    features: FeatureExtractorFeatures
    type: TypeEnum
    level: Level
    sub_feature_extractor: Optional[bool]

    def __init__(self, id: str, version: int, configuration: FeatureExtractorConfiguration, features: FeatureExtractorFeatures, type: TypeEnum, level: Level, sub_feature_extractor: Optional[bool]) -> None:
        self.id = id
        self.version = version
        self.configuration = configuration
        self.features = features
        self.type = type
        self.level = level
        self.sub_feature_extractor = sub_feature_extractor


class ArrayOfFeatureExtractor:
    featue_extractor: FeatueExtractor
    feature_extractor: List[FeatureExtractor]
    xmlns: str
    xmlns_xsi: str
    xmlns_xsd: str

    def __init__(self, featue_extractor: FeatueExtractor, feature_extractor: List[FeatureExtractor], xmlns: str, xmlns_xsi: str, xmlns_xsd: str) -> None:
        self.featue_extractor = featue_extractor
        self.feature_extractor = feature_extractor
        self.xmlns = xmlns
        self.xmlns_xsi = xmlns_xsi
        self.xmlns_xsd = xmlns_xsd


class Welcome1:
    array_of_feature_extractor: ArrayOfFeatureExtractor

    def __init__(self, array_of_feature_extractor: ArrayOfFeatureExtractor) -> None:
        self.array_of_feature_extractor = array_of_feature_extractor
