to argparse

master
bel 2022-04-10 22:23:23 -06:00
parent a68c383a24
commit 8bbf2dd89c
2 changed files with 25 additions and 13 deletions

View File

@ -1,22 +1,34 @@
from sys import stdin, stdout
import signal import signal
from os import getpid, kill from os import getpid, kill
import time import time
import argparse
def main(stream): def main():
bucket = None args = get_args()
N = 3 with_(
R = 2 N=args.n,
T = 2 R=args.r,
triggered = CBAppend("/tmp/cbappend.triggered.txt") T=args.t,
triggered = CBAppend("/tmp/cbappend.both.txt") p=args.p,
released = CBAppend("/tmp/cbappend.both.txt") )
def get_args():
ap = argparse.ArgumentParser()
ap.add_argument("-n", type=int, help="queue capacity", default=3)
ap.add_argument("-r", type=int, help="drain rate per second", default=2)
ap.add_argument("-t", type=int, help="threshold for state", default=2)
ap.add_argument("-p", type=str, help="path to write out to", default="/tmp/cbappend.both.txt")
return ap.parse_args()
def with_(N, R, T, p):
triggered = CBAppend(p)
released = CBAppend(p)
cb = CBFork(triggered, released) cb = CBFork(triggered, released)
bucket = Bucket(N, R, T, cb.cb()) bucket = Bucket(N, R, T, cb.cb())
while readline(): while readline():
print("bucket.push():", bucket.push()) bucket.push()
stdout.flush()
def readline(): def readline():
try: try:
@ -116,4 +128,4 @@ class CBFork():
return cb return cb
if __name__ == "__main__": if __name__ == "__main__":
main(stdin) main()

View File

@ -10,4 +10,4 @@
fi fi
done done
done done
) | python3 ./main.py ) | python3 ./stream_to_state.py