24 lines
681 B
Python
24 lines
681 B
Python
#
|
|
# Copyright (c) 2022 Airbyte, Inc., all rights reserved.
|
|
#
|
|
|
|
from abc import abstractmethod
|
|
from typing import Tuple
|
|
|
|
from airbyte_cdk.sources.abstract_source import AbstractSource
|
|
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
|
|
|
|
|
|
class ConfigurableSource(AbstractSource):
|
|
"""
|
|
Base class for declarative Source. Concrete sources need to define the connection_checker to use
|
|
"""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def connection_checker(self) -> ConnectionChecker:
|
|
pass
|
|
|
|
def check_connection(self, logger, config) -> Tuple[bool, any]:
|
|
return self.connection_checker.check_connection(self, logger, config)
|