From 204ad6c5ff4dd9973fe517e4447120faebc30019 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Wed, 3 Aug 2011 10:50:57 +0100 Subject: [PATCH] generate full sequences; fix padding error in tuple generation --- server/djrandom/model/markov.py | 11 +++++++++++ server/djrandom/model/mp3.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/server/djrandom/model/markov.py b/server/djrandom/model/markov.py index baaeb33..ac2f7da 100644 --- a/server/djrandom/model/markov.py +++ b/server/djrandom/model/markov.py @@ -79,6 +79,17 @@ class MarkovModel(object): if off > r: return self._i2hash[value] + def generate_sequence(self, prev, n, count): + if len(prev) < n: + prev = ([None] * (n - len(prev))) + prev + out = [] + for i in xrange(count): + song = self.suggest(prev) + prev.pop(0) + prev.append(song) + out.append(song) + return out + def main(): parser = optparse.OptionParser() diff --git a/server/djrandom/model/mp3.py b/server/djrandom/model/mp3.py index 91f280d..0e570ab 100644 --- a/server/djrandom/model/mp3.py +++ b/server/djrandom/model/mp3.py @@ -58,7 +58,7 @@ class PlayLog(Base): if plog.prev: hashes = plog.prev.split(',')[:n] if len(hashes) < n: - hashes.extend([None] * (n - len(hashes))) + hashes = ([None] * (n - len(hashes))) + hashes else: hashes = [None] * n yield (plog.sha1, hashes) -- GitLab