Spaces:
Runtime error
Runtime error
File size: 4,616 Bytes
8c1334e |
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 37 38 39 40 41 42 43 |
#import gradio as gr
import json
from datetime import datetime
import pytz
class TimeSlot:
def __init__(self, payload):
self.payload = payload
def __repr__(self):
return f"TimeSlot({self.start_time}, {self.end_time})"
def get_times(self):
python_dict = json.loads(self.payload)
# Extract the keys (dates) from the dictionary
result = ""
for date, slots in python_dict['slots'].items():
# print(f"Available time slots on {date}:")
result += f"Available time slots on {date}: "
# Extract the time slots for each date
for slot in slots:
# Convert the time string to a datetime object
time_str = slot['time']
# Convert the time string to a datetime object
dt = datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S.%fZ').replace(tzinfo=pytz.utc)
localDatetime = dt.astimezone(pytz.timezone('America/Sao_Paulo'))
timeslot = localDatetime.strftime("%H:%M")
# print(f"{timeslot}", end=", ")
result = f"{result}{timeslot}, "
# print() # Print a newline after each date's slots
result += "\n"
return result
pl = '{"slots":{"2025-05-19":[{"time":"2025-05-19T16:00:00.000Z"},{"time":"2025-05-19T17:00:00.000Z"},{"time":"2025-05-19T18:00:00.000Z"},{"time":"2025-05-19T19:00:00.000Z"}],"2025-05-20":[{"time":"2025-05-20T13:00:00.000Z"},{"time":"2025-05-20T14:00:00.000Z"},{"time":"2025-05-20T15:00:00.000Z"},{"time":"2025-05-20T16:00:00.000Z"},{"time":"2025-05-20T17:00:00.000Z"},{"time":"2025-05-20T18:00:00.000Z"},{"time":"2025-05-20T19:00:00.000Z"}],"2025-05-21":[{"time":"2025-05-21T12:00:00.000Z"},{"time":"2025-05-21T13:00:00.000Z"},{"time":"2025-05-21T14:00:00.000Z"},{"time":"2025-05-21T15:00:00.000Z"},{"time":"2025-05-21T16:00:00.000Z"},{"time":"2025-05-21T17:00:00.000Z"},{"time":"2025-05-21T18:00:00.000Z"},{"time":"2025-05-21T19:00:00.000Z"}],"2025-05-22":[{"time":"2025-05-22T12:00:00.000Z"},{"time":"2025-05-22T13:00:00.000Z"},{"time":"2025-05-22T14:00:00.000Z"},{"time":"2025-05-22T15:00:00.000Z"},{"time":"2025-05-22T16:00:00.000Z"},{"time":"2025-05-22T17:00:00.000Z"},{"time":"2025-05-22T18:00:00.000Z"},{"time":"2025-05-22T19:00:00.000Z"}],"2025-05-23":[{"time":"2025-05-23T12:00:00.000Z"},{"time":"2025-05-23T13:00:00.000Z"},{"time":"2025-05-23T14:00:00.000Z"},{"time":"2025-05-23T15:00:00.000Z"},{"time":"2025-05-23T16:00:00.000Z"},{"time":"2025-05-23T17:00:00.000Z"},{"time":"2025-05-23T18:00:00.000Z"},{"time":"2025-05-23T19:00:00.000Z"}],"2025-05-26":[{"time":"2025-05-26T12:00:00.000Z"},{"time":"2025-05-26T13:00:00.000Z"},{"time":"2025-05-26T14:00:00.000Z"},{"time":"2025-05-26T15:00:00.000Z"},{"time":"2025-05-26T16:00:00.000Z"},{"time":"2025-05-26T17:00:00.000Z"},{"time":"2025-05-26T18:00:00.000Z"},{"time":"2025-05-26T19:00:00.000Z"}],"2025-05-27":[{"time":"2025-05-27T12:00:00.000Z"},{"time":"2025-05-27T13:00:00.000Z"},{"time":"2025-05-27T14:00:00.000Z"},{"time":"2025-05-27T15:00:00.000Z"},{"time":"2025-05-27T16:00:00.000Z"},{"time":"2025-05-27T17:00:00.000Z"},{"time":"2025-05-27T18:00:00.000Z"},{"time":"2025-05-27T19:00:00.000Z"}],"2025-05-28":[{"time":"2025-05-28T12:00:00.000Z"},{"time":"2025-05-28T13:00:00.000Z"},{"time":"2025-05-28T14:00:00.000Z"},{"time":"2025-05-28T15:00:00.000Z"},{"time":"2025-05-28T16:00:00.000Z"},{"time":"2025-05-28T17:00:00.000Z"},{"time":"2025-05-28T18:00:00.000Z"},{"time":"2025-05-28T19:00:00.000Z"}],"2025-05-29":[{"time":"2025-05-29T12:00:00.000Z"},{"time":"2025-05-29T13:00:00.000Z"},{"time":"2025-05-29T14:00:00.000Z"},{"time":"2025-05-29T15:00:00.000Z"},{"time":"2025-05-29T16:00:00.000Z"},{"time":"2025-05-29T17:00:00.000Z"},{"time":"2025-05-29T18:00:00.000Z"},{"time":"2025-05-29T19:00:00.000Z"}],"2025-05-30":[{"time":"2025-05-30T12:00:00.000Z"},{"time":"2025-05-30T13:00:00.000Z"},{"time":"2025-05-30T14:00:00.000Z"},{"time":"2025-05-30T15:00:00.000Z"},{"time":"2025-05-30T16:00:00.000Z"},{"time":"2025-05-30T17:00:00.000Z"},{"time":"2025-05-30T18:00:00.000Z"},{"time":"2025-05-30T19:00:00.000Z"}],"2025-06-02":[{"time":"2025-06-02T12:00:00.000Z"},{"time":"2025-06-02T13:00:00.000Z"},{"time":"2025-06-02T14:00:00.000Z"},{"time":"2025-06-02T15:00:00.000Z"},{"time":"2025-06-02T16:00:00.000Z"},{"time":"2025-06-02T17:00:00.000Z"},{"time":"2025-06-02T18:00:00.000Z"},{"time":"2025-06-02T19:00:00.000Z"}]}}'
timeslot = TimeSlot(pl).get_times
print(timeslot)
def greet(name):
return "Hello " + name + "!!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()
|