master
Bel LaPointe 2022-09-18 11:55:13 -06:00
parent 284fec9026
commit 428eb765b0
4 changed files with 52 additions and 2 deletions

View File

@ -7,8 +7,6 @@ main() {
}
trap cleanup EXIT
local pipe=/tmp/breel.pipe
test -e "$pipe" || mkfifo $pipe
while true; do
read -s v
echo "$v"

17
src/input.py Normal file
View File

@ -0,0 +1,17 @@
class Input:
def __init__(self, reader):
self.reader = reader
def get(self):
return self.reader.read()
class StdinReader:
def read(self):
return input()
class FileReader:
def __init__(self, path):
self.f = open(path, "r")
def read(self):
return self.f.readline()

5
src/main.py Normal file
View File

@ -0,0 +1,5 @@
def main():
raise Exception("not impl")
if __name__ == "__main__":
main()

30
src/output.py Normal file
View File

@ -0,0 +1,30 @@
import time
class Output:
def __init__(self):
self.previous = None
def write(self, latest):
chosen = Line.choose(self.previous, latest)
if chosen.v != self.previous.v:
print(chosen)
self.previous = chosen
class Line:
def __init__(self, v):
self.t = time.time()
self.v = v
def __str__(self):
return f'@{self.t} | {self.v}'
def choose(a, b):
if not a:
return b
if not b:
return a
latest = max([a,b], key=lambda x:x.t)
oldest = min([a,b], key=lambda x:x.t)
if not latest.v and time.time() - oldest.t < 1:
return oldest
return latest