Merge branch 'master' of github.com:AnonymusRaccoon/AnonymousGoose

This commit is contained in:
jeremy
2020-04-26 15:13:53 +02:00
4 changed files with 89 additions and 78 deletions
+1
View File
@@ -45,6 +45,7 @@ class AnonymousGoose:
def key_pressed(self, key):
if key.Ascii == 27:
self.should_exit = True
Term.print_all("IMPOSSIBLE. You defeated my virus. There is no w...\n")
def stop(self):
if self.stopped:
+20 -12
View File
@@ -2,6 +2,7 @@ import os
import shutil
import time
import random
from command_helper import CommandHelper
@@ -31,10 +32,9 @@ class Term:
"sakura",
"rxvt-unicode"
]
def __init__(self):
self.tty = self.create_tty()
time.sleep(1)
def print(self, msg):
try:
@@ -48,9 +48,12 @@ class Term:
try:
with open(self.tty, "w") as file:
for char in msg:
file.write(char)
file.flush()
time.sleep(random.uniform(0, 0.2))
try:
file.write(char)
file.flush()
time.sleep(random.uniform(0, 0.2))
except KeyboardInterrupt:
pass
except PermissionError:
return False
except OSError:
@@ -65,13 +68,13 @@ class Term:
f.append(open(f"/dev/pts/{file}", "w"))
except PermissionError:
pass
for char in msg:
for fd in f:
fd.flush()
fd.write(char)
time.sleep(random.uniform(0, 0.2))
for file in f:
file.close()
@@ -87,13 +90,18 @@ class Term:
@staticmethod
def create_tty():
li = [i for i in range(100)]
for tty in sorted(os.listdir("/dev/pts")):
li = []
current = None
for tty in os.listdir("/dev/pts"):
if tty.isdigit():
if int(tty) in li:
li.remove(int(tty))
li.append(int(tty))
CommandHelper.run_async(Term.find_terminal())
return f"/dev/pts/{min(li)}"
time.sleep(1)
for tty in os.listdir("/dev/pts"):
if tty.isdigit():
if int(tty) not in li:
current = int(tty)
return f"/dev/pts/{current}"
@staticmethod
def find_terminal():
+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
@@ -8,51 +8,52 @@ import os
class Otis(Trick):
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()