Drop whipper caching (#336)
Whipper's caching implementation causes a few issues (#196, #230, [#321 (comment)](https://github.com/whipper-team/whipper/pull/321#issuecomment-437588821)) and complicates the code: it's better to drop this feature. The rip resume feature doesn't work anymore: if possible it will be restored in the future. * Remove caching item from TODO * Delete unneeded files related to caching * Update 'common/directory.py' & 'test/test_common_directory.py' (caching removal) * Update 'common/accurip.py' & 'test/test_common_accurip.py' (caching removal) * Update 'common/program.py' (caching removal) * Update 'command/cd.py' (caching removal) This fixes #335, fixes #196 and fixes #230. Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
This commit is contained in:
@@ -27,7 +27,7 @@ import shutil
|
||||
import time
|
||||
|
||||
from tempfile import NamedTemporaryFile
|
||||
from whipper.common import accurip, cache, checksum, common, mbngs, path
|
||||
from whipper.common import accurip, checksum, common, mbngs, path
|
||||
from whipper.program import cdrdao, cdparanoia
|
||||
from whipper.image import image
|
||||
from whipper.extern import freedb
|
||||
@@ -64,7 +64,6 @@ class Program:
|
||||
:param record: whether to record results of API calls for playback
|
||||
"""
|
||||
self._record = record
|
||||
self._cache = cache.ResultCache()
|
||||
self._config = config
|
||||
|
||||
d = {}
|
||||
@@ -113,37 +112,19 @@ class Program:
|
||||
def getTable(self, runner, cddbdiscid, mbdiscid, device, offset,
|
||||
toc_path):
|
||||
"""
|
||||
Retrieve the Table either from the cache or the drive.
|
||||
Retrieve the Table from the drive.
|
||||
|
||||
:rtype: table.Table
|
||||
"""
|
||||
tcache = cache.TableCache()
|
||||
ptable = tcache.get(cddbdiscid, mbdiscid)
|
||||
itable = None
|
||||
tdict = {}
|
||||
|
||||
# Ignore old cache, since we do not know what offset it used.
|
||||
if isinstance(ptable.object, dict):
|
||||
tdict = ptable.object
|
||||
|
||||
if offset in tdict:
|
||||
itable = tdict[offset]
|
||||
|
||||
if not itable:
|
||||
logger.debug('getTable: cddbdiscid %s, mbdiscid %s not in cache '
|
||||
'for offset %s, reading table', cddbdiscid, mbdiscid,
|
||||
offset)
|
||||
t = cdrdao.ReadTOCTask(device, toc_path=toc_path)
|
||||
t.description = "Reading table"
|
||||
runner.run(t)
|
||||
itable = t.toc.table
|
||||
tdict[offset] = itable
|
||||
ptable.persist(tdict)
|
||||
logger.debug('getTable: read table %r', itable)
|
||||
else:
|
||||
logger.debug('getTable: cddbdiscid %s, mbdiscid %s in cache '
|
||||
'for offset %s', cddbdiscid, mbdiscid, offset)
|
||||
logger.debug('getTable: loaded table %r', itable)
|
||||
t = cdrdao.ReadTOCTask(device, toc_path=toc_path)
|
||||
t.description = "Reading table"
|
||||
runner.run(t)
|
||||
itable = t.toc.table
|
||||
tdict[offset] = itable
|
||||
logger.debug('getTable: read table %r', itable)
|
||||
|
||||
assert itable.hasTOC()
|
||||
|
||||
@@ -153,24 +134,6 @@ class Program:
|
||||
itable.getMusicBrainzDiscId())
|
||||
return itable
|
||||
|
||||
def getRipResult(self, cddbdiscid):
|
||||
"""
|
||||
Get the persistable RipResult either from our cache or ret. a new one.
|
||||
|
||||
The cached RipResult may come from an aborted rip.
|
||||
|
||||
:rtype: result.RipResult
|
||||
"""
|
||||
assert self.result is None
|
||||
|
||||
self._presult = self._cache.getRipResult(cddbdiscid)
|
||||
self.result = self._presult.object
|
||||
|
||||
return self.result
|
||||
|
||||
def saveRipResult(self):
|
||||
self._presult.persist()
|
||||
|
||||
@staticmethod
|
||||
def addDisambiguation(template_part, metadata):
|
||||
"""Add disambiguation to template path part string."""
|
||||
|
||||
Reference in New Issue
Block a user