From 2ede0926bcc1e5e675b2bf68a56d06de05f17de5 Mon Sep 17 00:00:00 2001 From: Anonymus Raccoon Date: Sun, 26 Apr 2020 14:57:41 +0200 Subject: [PATCH] Setting threads as deamons to allow instant exit --- tricks/anim_ascii.py | 53 ++++++++++++------------ tricks/otis_notification.py | 81 +++++++++++++++++++------------------ 2 files changed, 68 insertions(+), 66 deletions(-) diff --git a/tricks/anim_ascii.py b/tricks/anim_ascii.py index 63af315..64c13d9 100644 --- a/tricks/anim_ascii.py +++ b/tricks/anim_ascii.py @@ -8,35 +8,36 @@ import threading class AnimAsciiTrick(Trick): - @staticmethod - def print_anim(terminal): - is_open = True - musicobj = sa.WaveObject.from_wave_file("data/nian_gooz.wav") - playobj = musicobj.play() - terminal.print("ouioui") - while is_open: - for frame in nian: - is_open = terminal.print(frame) - time.sleep(.2) - playobj.stop() + @staticmethod + def print_anim(terminal): + is_open = True + musicobj = sa.WaveObject.from_wave_file("data/nian_gooz.wav") + playobj = musicobj.play() + terminal.print("ouioui") + while is_open: + for frame in nian: + is_open = terminal.print(frame) + time.sleep(.2) + playobj.stop() - @property - def name(self): - return "anim" + @property + def name(self): + return "anim" - @property - def delay(self): - return 5 + @property + def delay(self): + return 5 - @property - def is_reversible(self): - return False + @property + def is_reversible(self): + return False - def revert(self): - pass + def revert(self): + pass - def run(self): - term = Term() - thread_anim = threading.Thread(target=AnimAsciiTrick.print_anim, args=[term]) - thread_anim.start() + def run(self): + term = Term() + thread_anim = threading.Thread(target=AnimAsciiTrick.print_anim, args=[term]) + thread_anim.setDaemon(True) + thread_anim.start() diff --git a/tricks/otis_notification.py b/tricks/otis_notification.py index 5dc4faf..9631bb0 100644 --- a/tricks/otis_notification.py +++ b/tricks/otis_notification.py @@ -9,51 +9,52 @@ import os class Otis: - is_started = False + is_started = False - text = [ - "Mais, vous savez, moi je ne crois pas qu’il y ait de bonne ou de mauvaise situation.", - "Moi, si je devais résumer ma vie aujourd’hui avec vous, je dirais que c’est d’abord des rencontres,", - "des gens qui m’ont tendu la main, peut-être à un moment où je ne pouvais pas, où j’étais seul chez moi.", - "Et c’est assez curieux de se dire que les hasards, les rencontres forgent une destinée…", - "Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite,", - "le beau geste, parfois on ne trouve pas l’interlocuteur en face, je dirais, le miroir qui vous aide à avancer.", - "Alors ce n’est pas mon cas, comme je le disais là, puisque moi au contraire, j’ai pu ;", - "et je dis merci à la vie, je lui dis merci, je chante la vie, je danse la vie… Je ne suis qu’amour !", - "Et finalement, quand beaucoup de gens aujourd’hui me disent « Mais comment fais-tu pour avoir cette humanité ? »,", - "eh ben je leur réponds très simplement, je leur dis que c’est ce goût de l’amour,", - "ce goût donc qui m’a poussé aujourd’hui à entreprendre une construction mécanique,", - "mais demain, qui sait, peut-être seulement à me mettre au service de la communauté, à faire le don, le don de soi… " - ] + text = [ + "Mais, vous savez, moi je ne crois pas qu’il y ait de bonne ou de mauvaise situation.", + "Moi, si je devais résumer ma vie aujourd’hui avec vous, je dirais que c’est d’abord des rencontres,", + "des gens qui m’ont tendu la main, peut-être à un moment où je ne pouvais pas, où j’étais seul chez moi.", + "Et c’est assez curieux de se dire que les hasards, les rencontres forgent une destinée…", + "Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite,", + "le beau geste, parfois on ne trouve pas l’interlocuteur en face, je dirais, le miroir qui vous aide à avancer.", + "Alors ce n’est pas mon cas, comme je le disais là, puisque moi au contraire, j’ai pu ;", + "et je dis merci à la vie, je lui dis merci, je chante la vie, je danse la vie… Je ne suis qu’amour !", + "Et finalement, quand beaucoup de gens aujourd’hui me disent « Mais comment fais-tu pour avoir cette humanité ? »,", + "eh ben je leur réponds très simplement, je leur dis que c’est ce goût de l’amour,", + "ce goût donc qui m’a poussé aujourd’hui à entreprendre une construction mécanique,", + "mais demain, qui sait, peut-être seulement à me mettre au service de la communauté, à faire le don, le don de soi… " + ] - image_path = f"{os.getcwd()}/data/otis_img.png" + image_path = f"{os.getcwd()}/data/otis_img.png" - @staticmethod - def otis_func(): - Otis.is_started = True - for citation in Otis.text: - os.system(f"notify-send -i {Otis.image_path} -t 5000 Otis '{citation}' ") - time.sleep(7) - Otis.is_started = False + @staticmethod + def otis_func(): + Otis.is_started = True + for citation in Otis.text: + os.system(f"notify-send -i {Otis.image_path} -t 5000 Otis '{citation}' ") + time.sleep(7) + Otis.is_started = False - @property - def name(self): - return "otis" + @property + def name(self): + return "otis" - @property - def delay(self): - if Otis.is_started: - return 0 - return 2 + @property + def delay(self): + if Otis.is_started: + return 0 + return 2 - @property - def is_reversible(self): - return False + @property + def is_reversible(self): + return False - def revert(self): - pass + def revert(self): + pass - def run(self): - if not Otis.is_started: - thread_otis = threading.Thread(target=Otis.otis_func, args=[]) - thread_otis.start() + def run(self): + if not Otis.is_started: + thread_otis = threading.Thread(target=Otis.otis_func, args=[]) + thread_otis.setDaemon(True) + thread_otis.start()