Skip to content
Snippets Groups Projects
Commit d1d5e509 authored by ale's avatar ale
Browse files

Merge branch 'master' of git.autistici.org:djrandom

parents 51824067 11a02332
No related branches found
No related tags found
No related merge requests found
......@@ -14,18 +14,20 @@ log = logging.getLogger(__name__)
class MarkovModel(object):
def __init__(self):
self._hash2i = {}
self._i2hash = []
self._hash2i = {'nil': 0}
self._i2hash = ['nil']
self._map = {}
self._rnd = random.Random()
def _to_i(self, sha1):
if sha1 is None:
sha1 = 'nil'
if sha1 not in self._hash2i:
n = len(self._i2hash)
self._i2hash.append(sha1)
self._hash2i[sha1] = n
else:
n = self._i2hash[sha1]
n = self._hash2i[sha1]
return n
def save(self, filename):
......@@ -77,6 +79,7 @@ class MarkovModel(object):
def main():
parser = optparse.OptionParser()
parser.add_option('--db_url')
parser.add_option('--output', default='markov.dat')
utils.read_config_defaults(
parser, os.getenv('DJRANDOM_CONF', '/etc/djrandom.conf'))
opts, args = parser.parse_args()
......@@ -90,7 +93,10 @@ def main():
markov_model = MarkovModel()
markov_model.create(PlayLog.generate_tuples())
markov_model.normalize()
markov_model.save('markov.dat')
markov_model.save(opts.output)
from pprint import pprint
pprint(markov_model._map)
if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment