stable-diffusion-aws-extension/aws_extension/cloud_dataset_manager/dataset_manager.py

43 lines
1.1 KiB
Python

import logging
import sys
import requests
from utils import get_variable_from_json
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
def get_sorted_cloud_dataset(username):
url = get_variable_from_json("api_gateway_url") + "datasets?dataset_status=Enabled"
api_key = get_variable_from_json("api_token")
if not url or not api_key:
logger.debug("Url or API-Key is not setting.")
return []
try:
raw_response = requests.get(
url=url,
headers={
"x-api-key": api_key,
"username": username
},
)
if raw_response.status_code != 200:
logger.error(f"list_datasets: {raw_response.json()}")
return []
response = raw_response.json()
logger.info(f"datasets response: {response}")
datasets = response["data"]["datasets"]
datasets.sort(
key=lambda t: t["timestamp"] if "timestamp" in t else sys.float_info.max,
reverse=True,
)
return datasets
except Exception as e:
logger.error(f"exception {e}")
return []