Finish daemonizing clock
This commit is contained in:
parent
cb9e38d97b
commit
659fb7ad43
Binary file not shown.
@ -34,7 +34,8 @@ number_map = {
|
||||
|
||||
class Clock:
|
||||
def __init__(self):
|
||||
pass
|
||||
time_prompt = self.serialize_time(datetime.now())
|
||||
self.time = self.generate_rhyme(time_prompt)
|
||||
|
||||
def serialize_time_part(self, part):
|
||||
part_string = ""
|
||||
@ -83,5 +84,6 @@ class Clock:
|
||||
now = datetime.now()
|
||||
then = datetime(now.year, now.month, now.day, now.hour, now.minute + 1, 0)
|
||||
seconds_until = (then - now).total_seconds()
|
||||
print(seconds_until)
|
||||
sleep(1)
|
||||
sleep(seconds_until)
|
||||
time_prompt = self.serialize_time(datetime.now())
|
||||
self.time = self.generate_rhyme(time_prompt)
|
||||
|
88
src/main.py
88
src/main.py
@ -1,87 +1,19 @@
|
||||
from weather import Weather
|
||||
from time import sleep
|
||||
from clock import Clock
|
||||
from openai import OpenAI
|
||||
from datetime import datetime
|
||||
|
||||
number_map = {
|
||||
"0": "o'clock",
|
||||
"1": "one",
|
||||
"2": "two",
|
||||
"3": "three",
|
||||
"4": "four",
|
||||
"5": "six",
|
||||
"6": "six",
|
||||
"7": "seven",
|
||||
"8": "eight",
|
||||
"9": "nine",
|
||||
"10": "ten",
|
||||
"11": "eleven",
|
||||
"12": "twelve",
|
||||
"13": "thirteen",
|
||||
"14": "fourteen",
|
||||
"15": "fifteen",
|
||||
"16": "sixteen",
|
||||
"17": "seventeen",
|
||||
"18": "eighteen",
|
||||
"19": "nineteen",
|
||||
"20": "twenty",
|
||||
"30": "thirty",
|
||||
"40": "forty",
|
||||
"50": "fifty",
|
||||
}
|
||||
|
||||
|
||||
def serialize_time_part(part):
|
||||
part_string = ""
|
||||
if part in number_map:
|
||||
part_string += number_map[part]
|
||||
else:
|
||||
tens_str = number_map[f"{part[0]}0"]
|
||||
ones_str = number_map[part[1]]
|
||||
part_string += f"{tens_str}-{ones_str}"
|
||||
return part_string
|
||||
|
||||
|
||||
def serialize_time(time):
|
||||
hour = str(time.hour)
|
||||
if time.hour > 12:
|
||||
hour = str(time.hour - 12)
|
||||
hour = serialize_time_part(hour)
|
||||
minute = str(time.minute)
|
||||
if time.minute < 10:
|
||||
minute = f"o'{serialize_time_part(minute)}"
|
||||
else:
|
||||
minute = serialize_time_part(minute)
|
||||
time_string = f"{hour} {minute}"
|
||||
return time_string
|
||||
|
||||
|
||||
def generate_rhyme(time):
|
||||
client = OpenAI()
|
||||
response = client.chat.completions.create(
|
||||
model="gpt-4",
|
||||
messages=[
|
||||
{
|
||||
"role": "user",
|
||||
"content": f"Finish this sentence about the time with a rhyme. It's {time}, ",
|
||||
}
|
||||
],
|
||||
)
|
||||
rhyme = response.choices[0].message.content
|
||||
return f"It's {time}, {rhyme}"
|
||||
from time import sleep
|
||||
|
||||
|
||||
def main():
|
||||
# weather_manager = Weather()
|
||||
# weather_manager.start_update_loop()
|
||||
# use_time = datetime.now()
|
||||
# serialized_time = serialize_time(use_time)
|
||||
# sentence = generate_rhyme(serialized_time)
|
||||
|
||||
weather_manager = Weather()
|
||||
weather_manager.start_update_loop()
|
||||
clock_manager = Clock()
|
||||
clock_manager.start_update_loop()
|
||||
sleep(1000)
|
||||
|
||||
|
||||
while True:
|
||||
print(clock_manager.time)
|
||||
print(weather_manager.weather["data"]["values"]["temperature"])
|
||||
sleep(10)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
Loading…
Reference in New Issue
Block a user