Setting threads as deamons to allow instant exit

This commit is contained in:
Anonymus Raccoon
2020-04-26 14:57:41 +02:00
parent c7356ecbfb
commit 2ede0926bc
2 changed files with 68 additions and 66 deletions
+27 -26
View File
@@ -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()
+41 -40
View File
@@ -9,51 +9,52 @@ import os
class Otis:
is_started = False
is_started = False
text = [
"Mais, vous savez, moi je ne crois pas quil y ait de bonne ou de mauvaise situation.",
"Moi, si je devais résumer ma vie aujourdhui avec vous, je dirais que cest dabord des rencontres,",
"des gens qui mont tendu la main, peut-être à un moment où je ne pouvais pas, où j’étais seul chez moi.",
"Et cest 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 linterlocuteur en face, je dirais, le miroir qui vous aide à avancer.",
"Alors ce nest pas mon cas, comme je le disais là, puisque moi au contraire, jai pu ;",
"et je dis merci à la vie, je lui dis merci, je chante la vie, je danse la vie… Je ne suis quamour !",
"Et finalement, quand beaucoup de gens aujourdhui me disent « Mais comment fais-tu pour avoir cette humanité ? »,",
"eh ben je leur réponds très simplement, je leur dis que cest ce goût de lamour,",
"ce goût donc qui ma poussé aujourdhui à 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 quil y ait de bonne ou de mauvaise situation.",
"Moi, si je devais résumer ma vie aujourdhui avec vous, je dirais que cest dabord des rencontres,",
"des gens qui mont tendu la main, peut-être à un moment où je ne pouvais pas, où j’étais seul chez moi.",
"Et cest 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 linterlocuteur en face, je dirais, le miroir qui vous aide à avancer.",
"Alors ce nest pas mon cas, comme je le disais là, puisque moi au contraire, jai pu ;",
"et je dis merci à la vie, je lui dis merci, je chante la vie, je danse la vie… Je ne suis quamour !",
"Et finalement, quand beaucoup de gens aujourdhui me disent « Mais comment fais-tu pour avoir cette humanité ? »,",
"eh ben je leur réponds très simplement, je leur dis que cest ce goût de lamour,",
"ce goût donc qui ma poussé aujourdhui à 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()