Files
2017-08-02 10:00:06 -07:00

42 lines
1.1 KiB
Python

"""The state of a given episode is what DeepHack has learned about the database."""
class State():
def __init__(self):
self.statetable = [""]
self.current = 0
def __str__(self):
out = ""
for entry in self.statetable:
out += entry + "\n"
return out
def __iter__(self):
self.current = 0
return self
def __next__(self):
try:
result = self.statetable[self.current]
self.current += 1
except IndexError:
raise StopIteration
return result
def update(self, query):
query = query.split("%")[0]
for i, entry in enumerate(self.statetable):
if query.startswith(entry):
self.statetable[i] = query
return
if entry.startswith(query):
return
self.statetable.append(query)
"""Counts up the total length of the state table and calls that the state's value"""
def value(self):
value = 0
for entry in self.statetable:
value += len(entry)
return value