import logging
from datetime import datetime
from threading import Thread, Event

import pytz
from requests import ReadTimeout
from requests.exceptions import ConnectionError, ConnectTimeout

from core.constants import HTTP_HEADERS
from core.url_data_cache import URLDataCache
from providers.callsigndata.callsign_data_provider import CallsignDataProvider


class APIQueryCallsignDataProvider(CallsignDataProvider):
    """Generic callsign data provider class for providers that fetch their data from the web on-demand using an API."""

    def __init__(self, name, provider_config, storage):
        """ Set up the provider."""
        super().__init__(name, provider_config, storage)

        if self.enabled:
            self.status = "Ready"

    def start(self):
        pass

    def stop(self):
        pass
