deflake, remove morituri hack, more error handling
This commit is contained in:
@@ -34,6 +34,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
_CACHE_DIR = join(directory.cache_path(), 'accurip')
|
||||
|
||||
|
||||
class _AccurateRipResponse(object):
|
||||
"""
|
||||
An AccurateRip response contains a collection of metadata identifying a
|
||||
@@ -144,6 +145,7 @@ def _download_entry(path):
|
||||
return None
|
||||
return resp.content
|
||||
|
||||
|
||||
def _save_entry(raw_entry, path):
|
||||
logger.debug('saving AccurateRip entry to %s', path)
|
||||
# XXX: os.makedirs(exist_ok=True) in py3
|
||||
@@ -155,6 +157,7 @@ def _save_entry(raw_entry, path):
|
||||
return
|
||||
open(path, 'wb').write(raw_entry)
|
||||
|
||||
|
||||
def get_db_entry(path):
|
||||
"""
|
||||
Retrieve cached AccurateRip disc entry as array of _AccurateRipResponses.
|
||||
@@ -184,6 +187,7 @@ def _assign_checksums_and_confidences(tracks, checksums, responses):
|
||||
key=lambda t: t[0]
|
||||
)
|
||||
|
||||
|
||||
def _match_responses(tracks, responses):
|
||||
"""
|
||||
Match and save track accuraterip response checksums against
|
||||
@@ -203,13 +207,14 @@ def _match_responses(tracks, responses):
|
||||
'track %d matched response %s in AccurateRip'
|
||||
' database: %s crc %s confidence %s' %
|
||||
(i, r.cddbDiscId, v, track.AR[v]['DBCRC'],
|
||||
track.AR[v]['DBConfidence'])
|
||||
track.AR[v]['DBConfidence'])
|
||||
)
|
||||
return any((
|
||||
all([t.AR['v1']['DBCRC'] for t in tracks]),
|
||||
all([t.AR['v2']['DBCRC'] for t in tracks])
|
||||
))
|
||||
|
||||
|
||||
def verify_result(result, responses, checksums):
|
||||
"""
|
||||
Verify track AccurateRip checksums against database responses.
|
||||
|
||||
@@ -24,8 +24,6 @@ import wave
|
||||
|
||||
from whipper.extern.task import task as etask
|
||||
|
||||
from whipper.program.arc import accuraterip_checksum
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -613,10 +613,9 @@ class Program:
|
||||
common.FRAMES_PER_SECOND)
|
||||
|
||||
for i, track in enumerate(self.result.tracks):
|
||||
path = track.filename
|
||||
writeFile(track.filename,
|
||||
(self.result.table.getTrackLength(i + 1) /
|
||||
common.FRAMES_PER_SECOND))
|
||||
(self.result.table.getTrackLength(i + 1) /
|
||||
common.FRAMES_PER_SECOND))
|
||||
|
||||
def writeCue(self, discName):
|
||||
assert self.result.table.canCue()
|
||||
|
||||
Reference in New Issue
Block a user