import time import os import platform import sys from datetime import datetime _old_settings = None _buffer = "" YELLOW = "\033[93m" GREEN = "\033[92m" RESET = "\033[0m" def clear_console(): if platform.system() == "Windows": os.system("cls") else: os.system("clear") def enable_keyboard_input(): if sys.platform.startswith("win"): pass else: global _old_settings global _termios_imported if termios is None: import termios if _old_settings is not None: fd = sys.stdin.fileno() termios.tcsetattr(fd, termios.TCSADRAIN, _old_settings) def disable_keyboard_input(): if sys.platform.startswith("win"): pass else: global _old_settings global _termios_imported if termios is None: import termios fd = sys.stdin.fileno() _old_settings = termios.tcgetattr(fd) new = termios.tcgetattr(fd) new[3] = new[3] & ~termios.ECHO & ~termios.ICANON termios.tcsetattr(fd, termios.TCSADRAIN, new) def input_title(title): # enable_keyboard_input() in_value = input(title) # disable_keyboard_input() return in_value def input_uint(title): while True: # enable_keyboard_input() in_value = input(title) # disable_keyboard_input() if in_value.isdigit(): return int(in_value) def print_buffer(): global _buffer print(_buffer, end="") def print_in_buffer(printable): global _buffer _buffer += printable + "\n" def main(): title = input_title("Title: ") work_time_minutes = input_uint("Work interval time in Minutes: ") break_time_minutes = input_uint("Break interval time in Minutes: ") work_time_seconds = work_time_minutes * 60 break_time_seconds = break_time_minutes * 60 intervals = input_uint("Intervals Count: ") duration = intervals * (work_time_minutes + break_time_minutes) clear_console() txt_report = "" json_report = dict() pdf_report = None print_in_buffer(F"MPomidoro") print_in_buffer(F"{title}") print_in_buffer(F"{intervals} x {work_time_minutes}min {break_time_minutes}min") print_in_buffer(F"") begin = datetime.now() for interval_i in range(0, intervals): for work_i in range(0, work_time_seconds): time.sleep(1) clear_console() print_buffer() ml = (work_time_seconds - work_i) // 60 ml = F"0{ml}" if ml < 10 else ml ms = (work_time_seconds - work_i) % 60 ms = F"0{ms}" if ms < 10 else ms print(f"{YELLOW}WORK #{interval_i+1} {ml}:{ms}{RESET}") clear_console() print_in_buffer(F"{GREEN}WORK #{interval_i+1} {work_time_minutes}min{RESET}") print_buffer() for break_i in range(0, break_time_seconds): time.sleep(1) clear_console() print_buffer() ml = (break_time_seconds - break_i) // 60 ml = F"0{ml}" if ml < 10 else ml ms = (break_time_seconds - break_i) % 60 ms = F"0{ms}" if ms < 10 else ms print(f"{YELLOW}BREAK #{interval_i+1} {ml}:{ms}{RESET}") clear_console() print_in_buffer(F"{GREEN}BREAK #{interval_i+1} {break_time_minutes}min{RESET}") print_buffer() clear_console() print_in_buffer(F"") print_buffer() end = datetime.now() begin_year = begin.strftime("%Y") begin_month = begin.strftime("%m") begin_day = begin.strftime("%d") begin_hour = begin.strftime("%H") begin_minute = begin.strftime("%M") end_year = end.strftime("%Y") end_month = end.strftime("%m") end_day = end.strftime("%d") end_hour = end.strftime("%H") end_minute = end.strftime("%M") conclusions = input_title("Conclusions: ") txt_report += F"MPomidoro Report\n" txt_report += F"Title: {title}\n" txt_report += F"Date: {begin.strftime("%Y.%m.%d")}\n" txt_report += F"Begin: {begin_hour}:{begin_minute}\n" txt_report += F"End: {end_hour}:{end_minute}\n" txt_report += F"Duration: {duration}min\n" txt_report += F"Conclusions: {conclusions}\n" txt_report += F"\n" for i in range(0, intervals): txt_report += F"✓ WORK #{i+1} {work_time_minutes}min\n" txt_report += F"✓ BREAK #{i+1} {break_time_minutes}min\n" filepath = F"./Reports/{begin_year}/{begin_month}/{begin_year}_{begin_month}_{begin_day}_{begin_hour}{begin_minute}_{title.replace(" ", "_")}.txt" os.makedirs(os.path.dirname(filepath), exist_ok=True) with open(filepath, "w", encoding="utf-8") as file: file.write(txt_report) if __name__ == "__main__": main()
Ok, real slow. Just checkedWho are you? Didn't even give a screenshot, nothing?hurrr what you mean just trust me bro??Incredible.
This! Absolutely ridiculous this post even had to be made. Who in they're right mind would waste their time making this comic for there to be such an easy solution? Next time, just ask the damn question!!
lmfao vibe coded mess