Spaces:
Runtime error
Runtime error
"""O365 tool utils.""" | |
from __future__ import annotations | |
import logging | |
import os | |
from typing import TYPE_CHECKING | |
if TYPE_CHECKING: | |
from amadeus import Client | |
logger = logging.getLogger(__name__) | |
def authenticate() -> Client: | |
"""Authenticate using the Amadeus API""" | |
try: | |
from amadeus import Client | |
except ImportError as e: | |
raise ImportError( | |
"Cannot import amadeus. Please install the package with " | |
"`pip install amadeus`." | |
) from e | |
if "AMADEUS_CLIENT_ID" in os.environ and "AMADEUS_CLIENT_SECRET" in os.environ: | |
client_id = os.environ["AMADEUS_CLIENT_ID"] | |
client_secret = os.environ["AMADEUS_CLIENT_SECRET"] | |
else: | |
logger.error( | |
"Error: The AMADEUS_CLIENT_ID and AMADEUS_CLIENT_SECRET environmental " | |
"variables have not been set. Visit the following link on how to " | |
"acquire these authorization tokens: " | |
"https://developers.amadeus.com/register" | |
) | |
return None | |
hostname = "test" # Default hostname | |
if "AMADEUS_HOSTNAME" in os.environ: | |
hostname = os.environ["AMADEUS_HOSTNAME"] | |
client = Client(client_id=client_id, client_secret=client_secret, hostname=hostname) | |
return client | |