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()