środa, sierpnia 28, 2024

Rube Goldberg machine do reminderów ;-)

Znów zbudowałem potwora ;-)

Jest tak, jestem bardzo chaotyczny, zwykle mi to nie przeszkadza bo mam na tyle dobrą pamięć i ogólny ogar, że w życiu moja chaotyczność mnie wiele nie kosztuje.

Ale bycie managerem ma swoje koszty. Naturalne jest, że zamiast pracować nad 1, 2 czy 3 rzeczami naraz, ale ze schodzeniem do detali bardziej się jest na poziomie, że w koło dzieje się kilkanaście czy kilkadziesiąt rzeczy i trzeba mniej więcej się w nich orientować...
Stąd potrzebuję czegoś do pamiętania o rzeczach do zrobienia, żeby nie przypominać sobie 2 dni później ;-)

Niby mam Todoista... mam nawet Worfklow w Alfredzie, który pozwala mi tworzyć taski w Todoist....

Ale Todoist nie ma powiadomień w normalnym planie i ogólnie jest dość ciężki. Ale Reminders w świecie Apple są całkiem fajne i się ładnie synchronizują między komputerami... no i ładnie się pokazują w macOS w obszarze powiadomień ;-)

I teraz mam kolejne Rube Goldberg machine ;-)

W Alfredzie piszę todo i dalej treść remindera.... mogę mu dodać czas, bo mam tego obsługę ;-)

Teraz jest sobie inny komputer, na którym w crontab jest kawałek Pythona który co 5 minut łączy się do API Todoista i pobiera taski.... jeśli task ma due date... to skrypt "pisze" skrypt dla osascript w którym tworzy reminder z daną treścią i danym due date... uruchamia ten skrypt... i zaznacza w Todoist taska jako Completed ;-)

Najistotniejszy kawałek kodu, ten który tworzy reminder wygląda tak:

def createReminder(text, dueDate):
current_time = dueDate.strftime("%d/%m/%Y %H:%M:%S")
text=unicodedata.normalize('NFC',text)

script = f'''
tell application "Reminders"
make new reminder with properties {{name:"{text}", due date:date "{current_time}"}}
end tell
'''
try:
print("==")
subprocess.run(["osascript", "-e", script])
print("Reminder created!")
except Exception as e:
print(f"Failed to create reminder: {e}")

jak widać, tworzy reminder używając AppleScript ;-)

Czy dałoby się to zrobić prościej?

Oczywiście ;-)

Ale taka budowa ma tą zaletę, że jest bardzo prosta :-) bo sklejam kawałki, które już mam napisane do innych rzeczy ;-)

Teraz po głowie mi chodzi coś co w momencie jak mi się zaczyna spotkanie w Kalendarzu z linkiem do spotkania na WebEx czy innym Zoomie to otwierałoby mi Apple'owe Notes na notatce, która by miała nazwę jak spotkanie z dopisaniem na górze pliku daty i czasu tego spotkania.... 
Taki sposób na zapamiętanie by robić sobie notatki ze spotkania....



Podobne postybeta
GPT + Python = sprawdzanie czy 5 książka z Bobiverse już jest dostępna ;-)
Kiedy skończyć pracę...
5 lat z macOS w domu ;-)
Żenienie Todoist z Obsidian przy pomocy Pythona ;-)
Rube Goldberg machine do panowania nad spotkaniami... częściowego chociaż ;-)

Brak komentarzy:

Prześlij komentarz