From 781f128de4d81f0c83114944e8a6cf19bfa347e3 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Sun, 18 Sep 2022 12:37:23 -0600 Subject: [PATCH] mvp --- src/main.py | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main.py b/src/main.py index d95ae8e..a1b790f 100644 --- a/src/main.py +++ b/src/main.py @@ -1,11 +1,46 @@ import reader import writer +import random +import time + def main(): r = reader.Reader(reader.StdinReader()) w = writer.Writer() + bucket = Bucket() for line in r.read(): - w.write(line) + latest_bucket = Bucket() + if latest_bucket.name != bucket.name: + picked = bucket.pick_n(2) + w.write(picked) + bucket = latest_bucket + bucket.push(line) + +class Bucket: + def __init__(self): + self.name = Bucket.ms_to_bucket(Bucket.now_ms()) + self.content = [] + + def push(self, v): + if v: + self.content.append(v) + + def pick_n(self, n): + if not self.content: + return [] + result = [] + for i in range(0, n): + result.append(self.content[random.randint(0, len(self.content)-1)]) + return list(set(result)) + + def now_ms(): + return int(1000 * time.time()) + + def ms_to_bucket(ms): + return int(int(ms // Bucket.interval()) * Bucket.interval()) + + def interval(): + return 1000 if __name__ == "__main__": main()