leaky-bucket/poc/py-ratio1024-log2/state_to_buttons.py

37 lines
1006 B
Python

import argparse
import os
from time import sleep
import buttons
def main():
args = get_args()
buckets = {}
with open(args.p, "r") as f:
f.seek(0, os.SEEK_END)
while True:
line = f.readline().strip()
if not line:
sleep(0.25)
continue
key = line.strip("/").split()[0]
if not key in buckets:
buckets[key] = [False, len(buckets)]
buckets[key][0] = False if line[0] == "/" else float(line.split()[-1])
for key in bucket:
keycode = buttons.keys[bucket[key][1]]
if bucket[key][0]:
print("down", key, button[key])
buttons.down(keycode)
else:
print("up", key, button[key])
buttons.up(keycode)
def get_args():
ap = argparse.ArgumentParser()
ap.add_argument("-p", type=str, help="path to write out to", default="/tmp/cbappend.both.txt")
return ap.parse_args()
if __name__ == "__main__":
main()