* morituri/common/cache.py:

* morituri/rip/debug.py:
	* morituri/test/test_common_cache.py:
	  Add rip debug resultcache list to list cached results.
This commit is contained in:
Thomas Vander Stichele
2012-12-02 17:27:15 +00:00
parent b86febb3b1
commit 306e6f2ad7
4 changed files with 50 additions and 3 deletions

View File

@@ -1,3 +1,10 @@
2012-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/common/cache.py:
* morituri/rip/debug.py:
* morituri/test/test_common_cache.py:
Add rip debug resultcache list to list cached results.
2012-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/common/cache.py (added):

View File

@@ -22,6 +22,7 @@
import os
import os.path
import glob
import tempfile
import shutil
@@ -175,3 +176,9 @@ class ResultCache(log.Loggable):
cddbdiscid)
return presult
def getIds(self):
paths = glob.glob(os.path.join(self._path, '*.pickle'))
return [os.path.splitext(os.path.basename(path))[0] for path in paths]

View File

@@ -22,7 +22,36 @@
from morituri.common import logcommand
from morituri.common import task
from morituri.common import task, cache
class RCList(logcommand.LogCommand):
name = "list"
summary = "list cached results"
def do(self, args):
self._cache = cache.ResultCache()
results = []
for i in self._cache.getIds():
r = self._cache.getRipResult(i)
results.append((r.object.artist, r.object.title, i))
results.sort()
for artist, title, cddbid in results:
self.stdout.write('%s: %s - %s\n' % (
cddbid, artist, title))
class ResultCache(logcommand.LogCommand):
summary = "debug result cache"
aliases = ['rc', ]
subCommandClasses = [RCList, ]
class Checksum(logcommand.LogCommand):
@@ -117,4 +146,4 @@ class Debug(logcommand.LogCommand):
summary = "debug internals"
subCommandClasses = [Checksum, Encode, MusicBrainzNGS]
subCommandClasses = [Checksum, Encode, MusicBrainzNGS, ResultCache]

View File

@@ -14,6 +14,10 @@ class ResultCacheTestCase(tcommon.TestCase):
self.cache = cache.ResultCache(
os.path.join(os.path.dirname(__file__), 'cache', 'result'))
def testGet(self):
def testGetResult(self):
result = self.cache.getRipResult('fe105a11')
self.assertEquals(result.object.title, "The Writing's on the Wall")
def testGetIds(self):
ids = self.cache.getIds()
self.assertEquals(ids, ['fe105a11'])