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