Spaces:
Runtime error
Runtime error
File size: 1,204 Bytes
197512a ec47532 197512a ec47532 197512a ec47532 197512a ec47532 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from datetime import datetime, timezone, timedelta
class MeetingUtils:
def __init__(self):
pass
async def __aenter__(self):
return self
async def __aexit__(self, *args):
pass
async def get_millis_utc(self, dt: datetime):
return int(dt.replace(tzinfo=timezone.utc).timestamp() * 1000)
async def millis_to_datetime(self, millis, offset=0):
dt_utc = datetime.fromtimestamp(millis / 1000, tz=timezone.utc)
dt_offset = dt_utc + timedelta(hours=offset) # Apply timezone offset
return dt_offset.strftime("%Y-%m-%d %H:%M:%S")
async def check_availability(self, response, duration_ms, offset=0):
availabilities = (
response["linkAvailability"]["linkAvailabilityByDuration"]
.get(str(duration_ms), {})
.get("availabilities", [])
)
available_slots = []
for slot in availabilities:
start_time = await self.millis_to_datetime(slot["startMillisUtc"], offset)
end_time = await self.millis_to_datetime(slot["endMillisUtc"], offset)
available_slots.append({"start": start_time, "end": end_time})
return available_slots
|