random reader
parent
5c5f09fc3d
commit
1ebd6facae
|
|
@ -4,6 +4,7 @@ import bucket
|
|||
|
||||
def main():
|
||||
r = reader.Reader(reader.StdinReader())
|
||||
r = reader.Reader(reader.RandomReader())
|
||||
w = writer.Writer()
|
||||
bkt = bucket.Bucket()
|
||||
for line in r.read():
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import queue
|
|||
import time
|
||||
import sys
|
||||
import select
|
||||
import random
|
||||
|
||||
__interval__ = .1
|
||||
|
||||
|
|
@ -36,7 +37,10 @@ class Reader:
|
|||
try:
|
||||
while not reader.stopping:
|
||||
try:
|
||||
yield q.get(timeout=__interval__)
|
||||
s = q.get(timeout=__interval__)
|
||||
if s:
|
||||
s = s.lower().strip()
|
||||
yield s
|
||||
except queue.Empty:
|
||||
yield None
|
||||
pass
|
||||
|
|
@ -50,11 +54,21 @@ class StdinReader:
|
|||
try:
|
||||
if select.select([sys.stdin,],[],[],__interval__/2.0)[0]:
|
||||
line = sys.stdin.readline()
|
||||
return line.strip()
|
||||
return line
|
||||
except Exception as e:
|
||||
pass
|
||||
return None
|
||||
|
||||
class RandomReader:
|
||||
def read(self):
|
||||
seed = random.randint(0, 99)
|
||||
if seed < 10:
|
||||
return "a"
|
||||
elif seed < 50:
|
||||
return "B"
|
||||
else:
|
||||
return "b"
|
||||
|
||||
class FileReader:
|
||||
def __init__(self, path):
|
||||
self.f = open(path, "r")
|
||||
|
|
|
|||
Loading…
Reference in New Issue