Fix logger statements having multiple arguments
Some of the instructions have been rendered invalid during the conversion to logger statements... Also performed various stylistic fixes
This commit is contained in:
@@ -40,13 +40,12 @@ retrieves and display accuraterip data from the given URL
|
||||
|
||||
count = responses[0].num_tracks
|
||||
|
||||
logger.info("Found %d responses for %d tracks",
|
||||
(len(responses), count))
|
||||
logger.info("found %d responses for %d tracks", len(responses), count)
|
||||
|
||||
for (i, r) in enumerate(responses):
|
||||
if r.num_tracks != count:
|
||||
logger.warning("response %d has %d tracks instead of %d", (
|
||||
i, r.num_tracks, count))
|
||||
logger.warning("response %d has %d tracks instead of %d",
|
||||
i, r.num_tracks, count)
|
||||
|
||||
# checksum and confidence by track
|
||||
for track in range(count):
|
||||
@@ -81,7 +80,7 @@ retrieves and display accuraterip data from the given URL
|
||||
for highest, checksum in sortedChecksums:
|
||||
print(" %d result(s) for checksum %s: %s" % (
|
||||
len(checksums[checksum]),
|
||||
checksum, str(checksums[checksum])))
|
||||
checksum, checksums[checksum]))
|
||||
|
||||
|
||||
class AccuRip(BaseCommand):
|
||||
|
||||
@@ -176,7 +176,7 @@ class _CD(BaseCommand):
|
||||
self.program.result.cdparanoiaDefeatsCache = \
|
||||
self.config.getDefeatsCache(*info)
|
||||
except KeyError as e:
|
||||
logger.debug('Got key error: %r' % (e, ))
|
||||
logger.debug('got key error: %r', (e, ))
|
||||
self.program.result.artist = self.program.metadata \
|
||||
and self.program.metadata.artist \
|
||||
or 'Unknown Artist'
|
||||
@@ -344,14 +344,14 @@ Log files will log the path to tracks relative to this directory.
|
||||
# FIXME: turn this into a method
|
||||
|
||||
def _ripIfNotRipped(number):
|
||||
logger.debug('ripIfNotRipped for track %d' % number)
|
||||
logger.debug('ripIfNotRipped for track %d', number)
|
||||
# we can have a previous result
|
||||
trackResult = self.program.result.getTrackResult(number)
|
||||
if not trackResult:
|
||||
trackResult = result.TrackResult()
|
||||
self.program.result.tracks.append(trackResult)
|
||||
else:
|
||||
logger.debug('ripIfNotRipped have trackresult, path %r' %
|
||||
logger.debug('ripIfNotRipped have trackresult, path %r',
|
||||
trackResult.filename)
|
||||
|
||||
path = self.program.getPath(self.program.outdir,
|
||||
@@ -359,7 +359,7 @@ Log files will log the path to tracks relative to this directory.
|
||||
self.mbdiscid,
|
||||
self.program.metadata,
|
||||
track_number=number) + '.flac'
|
||||
logger.debug('ripIfNotRipped: path %r' % path)
|
||||
logger.debug('ripIfNotRipped: path %r', path)
|
||||
trackResult.number = number
|
||||
|
||||
assert isinstance(path, unicode), "%r is not unicode" % path
|
||||
@@ -376,18 +376,18 @@ Log files will log the path to tracks relative to this directory.
|
||||
if path != trackResult.filename:
|
||||
# the path is different (different name/template ?)
|
||||
# but we can copy it
|
||||
logger.debug('previous result %r, expected %r' % (
|
||||
trackResult.filename, path))
|
||||
logger.debug('previous result %r, expected %r',
|
||||
trackResult.filename, path)
|
||||
|
||||
logger.info('verifying track %d of %d: %s', (
|
||||
logger.info('verifying track %d of %d: %s',
|
||||
number, len(self.itable.tracks),
|
||||
os.path.basename(path).encode('utf-8')))
|
||||
os.path.basename(path).encode('utf-8'))
|
||||
if not self.program.verifyTrack(self.runner, trackResult):
|
||||
logger.warning('verification failed, reripping...')
|
||||
os.unlink(path)
|
||||
|
||||
if not os.path.exists(path):
|
||||
logger.debug('path %r does not exist, ripping...' % path)
|
||||
logger.debug('path %r does not exist, ripping...', path)
|
||||
tries = 0
|
||||
# we reset durations for test and copy here
|
||||
trackResult.testduration = 0.0
|
||||
@@ -397,9 +397,9 @@ Log files will log the path to tracks relative to this directory.
|
||||
tries += 1
|
||||
if tries > 1:
|
||||
extra = " (try %d)" % tries
|
||||
logger.info('ripping track %d of %d%s: %s', (
|
||||
logger.info('ripping track %d of %d%s: %s',
|
||||
number, len(self.itable.tracks), extra,
|
||||
os.path.basename(path).encode('utf-8')))
|
||||
os.path.basename(path).encode('utf-8'))
|
||||
try:
|
||||
logger.debug('ripIfNotRipped: track %d, try %d',
|
||||
number, tries)
|
||||
@@ -415,12 +415,11 @@ Log files will log the path to tracks relative to this directory.
|
||||
extra))
|
||||
break
|
||||
except Exception as e:
|
||||
logger.debug('Got exception %r on try %d',
|
||||
e, tries)
|
||||
logger.debug('got exception %r on try %d', e, tries)
|
||||
|
||||
if tries == MAX_TRIES:
|
||||
logger.critical('Giving up on track %d after %d times' % (
|
||||
number, tries))
|
||||
logger.critical('giving up on track %d after %d times',
|
||||
number, tries)
|
||||
raise RuntimeError(
|
||||
"track can't be ripped. "
|
||||
"Rip attempts number is equal to 'MAX_TRIES'")
|
||||
@@ -439,12 +438,11 @@ Log files will log the path to tracks relative to this directory.
|
||||
# HTOA goes on index 0 of track 1
|
||||
# ignore silence in PREGAP
|
||||
if trackResult.peak == SILENT:
|
||||
logger.debug(
|
||||
'HTOA peak %r is equal to the SILENT '
|
||||
'threshold, disregarding', trackResult.peak)
|
||||
logger.debug('HTOA peak %r is equal to the SILENT '
|
||||
'threshold, disregarding', trackResult.peak)
|
||||
self.itable.setFile(1, 0, None,
|
||||
self.ittoc.getTrackStart(1), number)
|
||||
logger.debug('Unlinking %r', trackResult.filename)
|
||||
logger.debug('unlinking %r', trackResult.filename)
|
||||
os.unlink(trackResult.filename)
|
||||
trackResult.filename = None
|
||||
logger.info('HTOA discarded, contains digital silence')
|
||||
@@ -461,15 +459,15 @@ Log files will log the path to tracks relative to this directory.
|
||||
htoa = self.program.getHTOA()
|
||||
if htoa:
|
||||
start, stop = htoa
|
||||
logger.info('found Hidden Track One Audio from frame %d to %d', (
|
||||
start, stop))
|
||||
logger.info('found Hidden Track One Audio from frame %d to %d',
|
||||
start, stop)
|
||||
_ripIfNotRipped(0)
|
||||
|
||||
for i, track in enumerate(self.itable.tracks):
|
||||
# FIXME: rip data tracks differently
|
||||
if not track.audio:
|
||||
logger.warning('skipping data track %d, not implemented',
|
||||
(i + 1))
|
||||
i + 1)
|
||||
# FIXME: make it work for now
|
||||
track.indexes[1].relative = 0
|
||||
continue
|
||||
|
||||
@@ -48,7 +48,7 @@ class Analyze(BaseCommand):
|
||||
|
||||
info = drive.getDeviceInfo(self.options.device)
|
||||
if not info:
|
||||
logger.error('Drive caching behaviour not saved: '
|
||||
logger.error('drive caching behaviour not saved: '
|
||||
'could not get device info')
|
||||
return
|
||||
|
||||
@@ -67,7 +67,7 @@ class List(BaseCommand):
|
||||
self.config = config.Config()
|
||||
|
||||
if not paths:
|
||||
logger.critical('No drives found. Create /dev/cdrom '
|
||||
logger.critical('no drives found. Create /dev/cdrom '
|
||||
'if you have a CD drive, or install '
|
||||
'pycdio for better detection')
|
||||
return
|
||||
|
||||
@@ -50,7 +50,7 @@ def main():
|
||||
return 255
|
||||
|
||||
if isinstance(e.exception, common.EmptyError):
|
||||
logger.debug("EmptyError: %r", str(e.exception))
|
||||
logger.debug("EmptyError: %s", e.exception)
|
||||
logger.critical('could not create encoded file')
|
||||
return 255
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ CD in the AccurateRip database."""
|
||||
else:
|
||||
self._offsets.append(int(b))
|
||||
|
||||
logger.debug('Trying with offsets %r', self._offsets)
|
||||
logger.debug('trying with offsets %r', self._offsets)
|
||||
|
||||
def do(self):
|
||||
runner = ctask.SyncRunner()
|
||||
@@ -97,7 +97,7 @@ CD in the AccurateRip database."""
|
||||
return
|
||||
|
||||
if responses:
|
||||
logger.debug('%d AccurateRip responses found.' % len(responses))
|
||||
logger.debug('%d AccurateRip responses found.', len(responses))
|
||||
if responses[0].cddbDiscId != table.getCDDBDiscId():
|
||||
logger.warning("AccurateRip response discid different: %s",
|
||||
responses[0].cddbDiscId)
|
||||
@@ -125,20 +125,20 @@ CD in the AccurateRip database."""
|
||||
raise e
|
||||
|
||||
if isinstance(e.exception, cdparanoia.FileSizeError):
|
||||
logger.warning('cannot rip with offset %d...' % offset)
|
||||
logger.warning('cannot rip with offset %d...', offset)
|
||||
continue
|
||||
|
||||
logger.warning("unknown task exception for offset %d: %r" % (
|
||||
offset, e))
|
||||
logger.warning('cannot rip with offset %d...' % offset)
|
||||
logger.warning("unknown task exception for offset %d: %s",
|
||||
offset, e)
|
||||
logger.warning('cannot rip with offset %d...', offset)
|
||||
continue
|
||||
|
||||
logger.debug('AR checksums calculated: %s %s' % archecksums)
|
||||
logger.debug('AR checksums calculated: %s %s', archecksums)
|
||||
|
||||
c, i = match(archecksums, 1, responses)
|
||||
if c:
|
||||
count = 1
|
||||
logger.debug('matched against response %d' % i)
|
||||
logger.debug('matched against response %d', i)
|
||||
logger.info('offset of device is likely %d, confirming...',
|
||||
offset)
|
||||
|
||||
@@ -149,14 +149,14 @@ CD in the AccurateRip database."""
|
||||
archecksums = self._arcs(runner, table, track, offset)
|
||||
except task.TaskException as e:
|
||||
if isinstance(e.exception, cdparanoia.FileSizeError):
|
||||
logger.warning('cannot rip with offset %d...' %
|
||||
logger.warning('cannot rip with offset %d...',
|
||||
offset)
|
||||
continue
|
||||
|
||||
c, i = match(archecksums, track, responses)
|
||||
if c:
|
||||
logger.debug('MATCHED track %d against response %d' % (
|
||||
track, i))
|
||||
logger.debug('matched track %d against response %d',
|
||||
track, i)
|
||||
count += 1
|
||||
|
||||
if count == len(table.tracks) - 1:
|
||||
@@ -164,8 +164,8 @@ CD in the AccurateRip database."""
|
||||
return 0
|
||||
else:
|
||||
logger.warning('only %d of %d tracks matched, '
|
||||
'continuing...',
|
||||
(count, len(table.tracks)))
|
||||
'continuing...', count,
|
||||
len(table.tracks))
|
||||
|
||||
logger.error('no matching offset found. '
|
||||
'Consider trying again with a different disc')
|
||||
|
||||
@@ -107,17 +107,15 @@ def calculate_checksums(track_paths):
|
||||
track_count = len(track_paths)
|
||||
v1_checksums = []
|
||||
v2_checksums = []
|
||||
logger.debug('checksumming %d tracks' % track_count)
|
||||
logger.debug('checksumming %d tracks', track_count)
|
||||
# This is done sequentially because it is very fast.
|
||||
for i, path in enumerate(track_paths):
|
||||
v1_sum = accuraterip_checksum(
|
||||
path, i+1, track_count, wave=True, v2=False
|
||||
)
|
||||
if not v1_sum:
|
||||
logger.error(
|
||||
'could not calculate AccurateRip v1 checksum for track %d %r' %
|
||||
(i+1, path)
|
||||
)
|
||||
logger.error('could not calculate AccurateRip v1 checksum '
|
||||
'for track %d %r', i + 1, path)
|
||||
v1_checksums.append(None)
|
||||
else:
|
||||
v1_checksums.append("%08x" % v1_sum)
|
||||
@@ -125,10 +123,8 @@ def calculate_checksums(track_paths):
|
||||
path, i+1, track_count, wave=True, v2=True
|
||||
)
|
||||
if not v2_sum:
|
||||
logger.error(
|
||||
'could not calculate AccurateRip v2 checksum for track %d %r' %
|
||||
(i+1, path)
|
||||
)
|
||||
logger.error('could not calculate AccurateRip v2 checksum '
|
||||
'for track %d %r', i + 1, path)
|
||||
v2_checksums.append(None)
|
||||
else:
|
||||
v2_checksums.append("%08x" % v2_sum)
|
||||
@@ -141,12 +137,11 @@ def _download_entry(path):
|
||||
try:
|
||||
resp = requests.get(url)
|
||||
except requests.exceptions.ConnectionError as e:
|
||||
logger.error('error retrieving AccurateRip entry: %r' % e)
|
||||
logger.error('error retrieving AccurateRip entry: %r', e)
|
||||
return None
|
||||
if not resp.ok:
|
||||
logger.error('error retrieving AccurateRip entry: %s %s %r' % (
|
||||
resp.status_code, resp.reason, resp
|
||||
))
|
||||
logger.error('error retrieving AccurateRip entry: %s %s %r',
|
||||
resp.status_code, resp.reason, resp)
|
||||
return None
|
||||
return resp.content
|
||||
|
||||
@@ -158,7 +153,7 @@ def _save_entry(raw_entry, path):
|
||||
makedirs(dirname(path))
|
||||
except OSError as e:
|
||||
if e.errno != EEXIST:
|
||||
logger.error('could not save entry to %s: %r' % (path, str(e)))
|
||||
logger.error('could not save entry to %s: %s', path, e)
|
||||
return
|
||||
open(path, 'wb').write(raw_entry)
|
||||
|
||||
@@ -211,10 +206,9 @@ def _match_responses(tracks, responses):
|
||||
track.AR[v]['DBConfidence'] = r.confidences[i]
|
||||
logger.debug(
|
||||
'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'])
|
||||
)
|
||||
' database: %s crc %s confidence %s',
|
||||
i, r.cddbDiscId, v, track.AR[v]['DBCRC'],
|
||||
track.AR[v]['DBConfidence'])
|
||||
return any((
|
||||
all([t.AR['v1']['DBCRC'] for t in tracks]),
|
||||
all([t.AR['v2']['DBCRC'] for t in tracks])
|
||||
@@ -268,9 +262,7 @@ def print_report(result):
|
||||
print('track 0: unknown (not tracked)')
|
||||
continue
|
||||
if not (track.AR['v1']['CRC'] or track.AR['v2']['CRC']):
|
||||
logger.error(
|
||||
'no track AR CRC on non-HTOA track %d' % track.number
|
||||
)
|
||||
logger.error('no track AR CRC on non-HTOA track %d', track.number)
|
||||
print('track %2d: unknown (error)' % track.number)
|
||||
else:
|
||||
print('track %2d: %-16s %-23s v1 [%s], v2 [%s], DB [%s]' % (
|
||||
|
||||
@@ -87,7 +87,7 @@ class Persister:
|
||||
handle.close()
|
||||
# do an atomic move
|
||||
shutil.move(path, self._path)
|
||||
logger.debug('saved persisted object to %r' % self._path)
|
||||
logger.debug('saved persisted object to %r', self._path)
|
||||
|
||||
def _unpickle(self, default=None):
|
||||
self.object = default
|
||||
@@ -103,7 +103,7 @@ class Persister:
|
||||
|
||||
try:
|
||||
self.object = pickle.load(handle)
|
||||
logger.debug('loaded persisted object from %r' % self._path)
|
||||
logger.debug('loaded persisted object from %r', self._path)
|
||||
except Exception as e:
|
||||
# TODO: restrict kind of caught exceptions?
|
||||
# can fail for various reasons; in that case, pretend we didn't
|
||||
@@ -143,9 +143,8 @@ class PersistedCache:
|
||||
if hasattr(persister.object, 'instanceVersion'):
|
||||
o = persister.object
|
||||
if o.instanceVersion < o.__class__.classVersion:
|
||||
logger.debug(
|
||||
'key %r persisted object version %d is outdated',
|
||||
key, o.instanceVersion)
|
||||
logger.debug('key %r persisted object version %d '
|
||||
'is outdated', key, o.instanceVersion)
|
||||
persister.object = None
|
||||
# FIXME: don't delete old objects atm
|
||||
# persister.delete()
|
||||
@@ -216,12 +215,11 @@ class TableCache:
|
||||
ptable = self._pcache.get(cddbdiscid)
|
||||
if ptable.object:
|
||||
if ptable.object.getMusicBrainzDiscId() != mbdiscid:
|
||||
logger.debug('cached table is for different mb id %r' % (
|
||||
ptable.object.getMusicBrainzDiscId()))
|
||||
logger.debug('cached table is for different mb id %r',
|
||||
ptable.object.getMusicBrainzDiscId())
|
||||
ptable.object = None
|
||||
else:
|
||||
logger.debug('no valid cached table found for %r' %
|
||||
cddbdiscid)
|
||||
logger.debug('no valid cached table found for %r', cddbdiscid)
|
||||
|
||||
if not ptable.object:
|
||||
# get an empty persistable from the writable location
|
||||
|
||||
@@ -263,8 +263,8 @@ def getRelativePath(targetPath, collectionPath):
|
||||
|
||||
Used to determine the path to use in .cue/.m3u files
|
||||
"""
|
||||
logger.debug('getRelativePath: target %r, collection %r' % (
|
||||
targetPath, collectionPath))
|
||||
logger.debug('getRelativePath: target %r, collection %r',
|
||||
targetPath, collectionPath)
|
||||
|
||||
targetDir = os.path.dirname(targetPath)
|
||||
collectionDir = os.path.dirname(collectionPath)
|
||||
@@ -275,9 +275,8 @@ def getRelativePath(targetPath, collectionPath):
|
||||
rel = os.path.relpath(
|
||||
targetDir + os.path.sep,
|
||||
collectionDir + os.path.sep)
|
||||
logger.debug(
|
||||
'getRelativePath: target and collection in different dir, %r' % rel
|
||||
)
|
||||
logger.debug('getRelativePath: target and collection '
|
||||
'in different dir, %r', rel)
|
||||
return os.path.join(rel, os.path.basename(targetPath))
|
||||
|
||||
|
||||
|
||||
@@ -130,14 +130,13 @@ class Config:
|
||||
if not name.startswith('drive:'):
|
||||
continue
|
||||
|
||||
logger.debug('Looking at section %r' % name)
|
||||
logger.debug('looking at section %r', name)
|
||||
conf = {}
|
||||
for key in ['vendor', 'model', 'release']:
|
||||
locals()[key] = locals()[key].strip()
|
||||
conf[key] = self._parser.get(name, key)
|
||||
logger.debug("%s: '%s' versus '%s'" % (
|
||||
key, locals()[key], conf[key]
|
||||
))
|
||||
logger.debug("%s: '%s' versus '%s'",
|
||||
key, locals()[key], conf[key])
|
||||
if vendor.strip() != conf['vendor']:
|
||||
continue
|
||||
if model.strip() != conf['model']:
|
||||
|
||||
@@ -36,7 +36,7 @@ def getAllDevicePaths():
|
||||
# see https://savannah.gnu.org/bugs/index.php?38477
|
||||
return [str(dev) for dev in _getAllDevicePathsPyCdio()]
|
||||
except ImportError:
|
||||
logger.info('Cannot import pycdio')
|
||||
logger.info('cannot import pycdio')
|
||||
return _getAllDevicePathsStatic()
|
||||
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ def _record(record, which, name, what):
|
||||
handle = open(filename, 'w')
|
||||
handle.write(json.dumps(what))
|
||||
handle.close()
|
||||
logger.info('Wrote %s %s to %s', which, name, filename)
|
||||
logger.info('wrote %s %s to %s', which, name, filename)
|
||||
|
||||
# credit is of the form [dict, str, dict, ... ]
|
||||
# e.g. [
|
||||
@@ -152,10 +152,9 @@ def _getMetadata(releaseShort, release, discid, country=None):
|
||||
|
||||
@rtype: L{DiscMetadata} or None
|
||||
"""
|
||||
logger.debug('getMetadata for release id %r',
|
||||
release['id'])
|
||||
logger.debug('getMetadata for release id %r', release['id'])
|
||||
if not release['id']:
|
||||
logger.warning('No id for release %r', release)
|
||||
logger.warning('no id for release %r', release)
|
||||
return None
|
||||
|
||||
assert release['id'], 'Release does not have an id'
|
||||
@@ -183,7 +182,7 @@ def _getMetadata(releaseShort, release, discid, country=None):
|
||||
discMD.artist = albumArtistName
|
||||
discMD.sortName = discCredit.getSortName()
|
||||
if 'date' not in release:
|
||||
logger.warning("Release with ID '%s' (%s - %s) does not have a date",
|
||||
logger.warning("release with ID '%s' (%s - %s) does not have a date",
|
||||
release['id'], discMD.artist, release['title'])
|
||||
else:
|
||||
discMD.release = release['date']
|
||||
@@ -235,9 +234,8 @@ def _getMetadata(releaseShort, release, discid, country=None):
|
||||
# FIXME: unit of duration ?
|
||||
track.duration = int(t['recording'].get('length', 0))
|
||||
if not track.duration:
|
||||
logger.warning(
|
||||
'track %r (%r) does not have duration' %
|
||||
(track.title, track.mbid))
|
||||
logger.warning('track %r (%r) does not have duration',
|
||||
track.title, track.mbid)
|
||||
tainted = True
|
||||
else:
|
||||
duration += track.duration
|
||||
@@ -297,8 +295,8 @@ def musicbrainz(discid, country=None, record=False):
|
||||
import json
|
||||
for release in result['disc']['release-list']:
|
||||
formatted = json.dumps(release, sort_keys=False, indent=4)
|
||||
logger.debug('result %s: artist %r, title %r' % (
|
||||
formatted, release['artist-credit-phrase'], release['title']))
|
||||
logger.debug('result %s: artist %r, title %r', formatted,
|
||||
release['artist-credit-phrase'], release['title'])
|
||||
|
||||
# to get titles of recordings, we need to query the release with
|
||||
# artist-credits
|
||||
@@ -309,7 +307,7 @@ def musicbrainz(discid, country=None, record=False):
|
||||
_record(record, 'release', release['id'], res)
|
||||
releaseDetail = res['release']
|
||||
formatted = json.dumps(releaseDetail, sort_keys=False, indent=4)
|
||||
logger.debug('release %s' % formatted)
|
||||
logger.debug('release %s', formatted)
|
||||
|
||||
md = _getMetadata(release, releaseDetail, discid, country)
|
||||
if md:
|
||||
|
||||
@@ -93,9 +93,8 @@ class Program:
|
||||
from pkg_resources import parse_version as V
|
||||
version = cdrdao.getCDRDAOVersion()
|
||||
if V(version) < V('1.2.3rc2'):
|
||||
logger.warning('cdrdao older than 1.2.3 has a '
|
||||
'pre-gap length bug. '
|
||||
'See http://sourceforge.net/tracker/?func=detail&aid=604751&group_id=2171&atid=102171') # noqa: E501
|
||||
logger.warning('cdrdao older than 1.2.3 has a pre-gap length bug.'
|
||||
' See http://sourceforge.net/tracker/?func=detail&aid=604751&group_id=2171&atid=102171') # noqa: E501
|
||||
toc = cdrdao.ReadTOCTask(device).table
|
||||
assert toc.hasTOC()
|
||||
return toc
|
||||
@@ -120,9 +119,9 @@ class Program:
|
||||
itable = tdict[offset]
|
||||
|
||||
if not itable:
|
||||
logger.debug('getTable: cddbdiscid %s, mbdiscid %s not '
|
||||
'in cache for offset %s, reading table', (
|
||||
cddbdiscid, mbdiscid, offset))
|
||||
logger.debug('getTable: cddbdiscid %s, mbdiscid %s not in cache '
|
||||
'for offset %s, reading table', cddbdiscid, mbdiscid,
|
||||
offset)
|
||||
t = cdrdao.ReadTableTask(device, out_path)
|
||||
itable = t.table
|
||||
tdict[offset] = itable
|
||||
@@ -130,7 +129,7 @@ class Program:
|
||||
logger.debug('getTable: read table %r', itable)
|
||||
else:
|
||||
logger.debug('getTable: cddbdiscid %s, mbdiscid %s in cache '
|
||||
'for offset %s', (cddbdiscid, mbdiscid, offset))
|
||||
'for offset %s', cddbdiscid, mbdiscid, offset)
|
||||
logger.debug('getTable: loaded table %r', itable)
|
||||
|
||||
assert itable.hasTOC()
|
||||
@@ -336,8 +335,8 @@ class Program:
|
||||
|
||||
if release:
|
||||
metadatas = [m for m in metadatas if m.url.endswith(release)]
|
||||
logger.debug('asked for release %r, only kept %r',
|
||||
release, metadatas)
|
||||
logger.debug('asked for release %r, only kept %r', release,
|
||||
metadatas)
|
||||
if len(metadatas) == 1:
|
||||
logger.info('picked requested release id %s', release)
|
||||
print('Artist: %s' % metadatas[0].artist.encode('utf-8'))
|
||||
@@ -356,14 +355,13 @@ class Program:
|
||||
releaseTitle = metadatas[0].releaseTitle
|
||||
for i, metadata in enumerate(metadatas):
|
||||
if not artist == metadata.artist:
|
||||
logger.warning("artist 0: %r and artist %d: %r "
|
||||
"are not the same", (
|
||||
artist, i, metadata.artist))
|
||||
logger.warning("artist 0: %r and artist %d: %r are "
|
||||
"not the same", artist, i,
|
||||
metadata.artist)
|
||||
if not releaseTitle == metadata.releaseTitle:
|
||||
logger.warning("title 0: %r and title %d: %r "
|
||||
"are not the same", (
|
||||
releaseTitle, i,
|
||||
metadata.releaseTitle))
|
||||
logger.warning("title 0: %r and title %d: %r are "
|
||||
"not the same", releaseTitle, i,
|
||||
metadata.releaseTitle)
|
||||
|
||||
if (not release and len(list(deltas)) > 1):
|
||||
logger.warning('picked closest match in duration. '
|
||||
@@ -410,7 +408,7 @@ class Program:
|
||||
mbidTrack = track.mbid
|
||||
mbidTrackArtist = track.mbidArtist
|
||||
except IndexError as e:
|
||||
logger.error('no track %d found, %r', (number, e))
|
||||
logger.error('no track %d found, %r', number, e)
|
||||
raise
|
||||
else:
|
||||
# htoa defaults to disc's artist
|
||||
@@ -473,9 +471,8 @@ class Program:
|
||||
raise
|
||||
|
||||
ret = trackResult.testcrc == t.checksum
|
||||
logger.debug('verifyTrack: track result crc %r, '
|
||||
'file crc %r, result %r',
|
||||
trackResult.testcrc, t.checksum, ret)
|
||||
logger.debug('verifyTrack: track result crc %r, file crc %r, '
|
||||
'result %r', trackResult.testcrc, t.checksum, ret)
|
||||
return ret
|
||||
|
||||
def ripTrack(self, runner, trackResult, offset, device, taglist,
|
||||
@@ -511,10 +508,10 @@ class Program:
|
||||
runner.run(t)
|
||||
|
||||
logger.debug('ripped track')
|
||||
logger.debug('test speed %.3f/%.3f seconds', (
|
||||
t.testspeed, t.testduration))
|
||||
logger.debug('copy speed %.3f/%.3f seconds', (
|
||||
t.copyspeed, t.copyduration))
|
||||
logger.debug('test speed %.3f/%.3f seconds',
|
||||
t.testspeed, t.testduration)
|
||||
logger.debug('copy speed %.3f/%.3f seconds',
|
||||
t.copyspeed, t.copyduration)
|
||||
trackResult.testcrc = t.testchecksum
|
||||
trackResult.copycrc = t.copychecksum
|
||||
trackResult.peak = t.peak
|
||||
|
||||
@@ -51,8 +51,7 @@ class PopenTask(task.Task):
|
||||
|
||||
raise
|
||||
|
||||
logger.debug('Started %r with pid %d', self.command,
|
||||
self._popen.pid)
|
||||
logger.debug('started %r with pid %d', self.command, self._popen.pid)
|
||||
|
||||
self.schedule(1.0, self._read, runner)
|
||||
|
||||
@@ -89,7 +88,7 @@ class PopenTask(task.Task):
|
||||
|
||||
self._done()
|
||||
except Exception as e:
|
||||
logger.debug('exception during _read(): %r', str(e))
|
||||
logger.debug('exception during _read(): %s', e)
|
||||
self.setException(e)
|
||||
self.stop()
|
||||
|
||||
@@ -97,10 +96,9 @@ class PopenTask(task.Task):
|
||||
assert self._popen.returncode is not None, "No returncode"
|
||||
|
||||
if self._popen.returncode >= 0:
|
||||
logger.debug('Return code was %d', self._popen.returncode)
|
||||
logger.debug('return code was %d', self._popen.returncode)
|
||||
else:
|
||||
logger.debug('Terminated with signal %d',
|
||||
-self._popen.returncode)
|
||||
logger.debug('terminated with signal %d', -self._popen.returncode)
|
||||
|
||||
self.setProgress(1.0)
|
||||
|
||||
@@ -113,7 +111,7 @@ class PopenTask(task.Task):
|
||||
return
|
||||
|
||||
def abort(self):
|
||||
logger.debug('Aborting, sending SIGTERM to %d', self._popen.pid)
|
||||
logger.debug('aborting, sending SIGTERM to %d', self._popen.pid)
|
||||
os.kill(self._popen.pid, signal.SIGTERM)
|
||||
# self.stop()
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ class CueFile(object):
|
||||
currentTrack = None
|
||||
counter = 0
|
||||
|
||||
logger.info('Parsing .cue file %r', self._path)
|
||||
logger.info('parsing .cue file %r', self._path)
|
||||
handle = codecs.open(self._path, 'r', 'utf-8')
|
||||
|
||||
for number, line in enumerate(handle.readlines()):
|
||||
|
||||
@@ -135,7 +135,7 @@ class ImageVerifyTask(task.MultiSeparateTask):
|
||||
self.addTask(taskk)
|
||||
self._tasks.append((0, track, taskk))
|
||||
except (KeyError, IndexError):
|
||||
logger.debug('no htoa track')
|
||||
logger.debug('no HTOA track')
|
||||
|
||||
for trackIndex, track in enumerate(cue.table.tracks):
|
||||
logger.debug('verifying track %d', trackIndex + 1)
|
||||
@@ -155,8 +155,8 @@ class ImageVerifyTask(task.MultiSeparateTask):
|
||||
def stop(self):
|
||||
for trackIndex, track, taskk in self._tasks:
|
||||
if taskk.exception:
|
||||
logger.debug('subtask %r had exception %r, shutting down' % (
|
||||
taskk, taskk.exception))
|
||||
logger.debug('subtask %r had exception %r, shutting down',
|
||||
taskk, taskk.exception)
|
||||
self.setException(taskk.exception)
|
||||
break
|
||||
|
||||
@@ -195,17 +195,16 @@ class ImageEncodeTask(task.MultiSeparateTask):
|
||||
root, ext = os.path.splitext(os.path.basename(path))
|
||||
outpath = os.path.join(outdir, root + '.' + 'flac')
|
||||
logger.debug('schedule encode to %r', outpath)
|
||||
taskk = encode.FlacEncodeTask(path,
|
||||
os.path.join(outdir,
|
||||
root + '.' + 'flac'))
|
||||
taskk = encode.FlacEncodeTask(
|
||||
path, os.path.join(outdir, root + '.' + 'flac'))
|
||||
self.addTask(taskk)
|
||||
|
||||
try:
|
||||
htoa = cue.table.tracks[0].indexes[0]
|
||||
logger.debug('encoding htoa track')
|
||||
logger.debug('encoding HTOA track')
|
||||
add(htoa)
|
||||
except (KeyError, IndexError):
|
||||
logger.debug('no htoa track')
|
||||
logger.debug('no HTOA track')
|
||||
pass
|
||||
|
||||
for trackIndex, track in enumerate(cue.table.tracks):
|
||||
|
||||
@@ -333,8 +333,8 @@ class Table(object):
|
||||
@returns: the 28-character base64-encoded disc ID
|
||||
"""
|
||||
if self.mbdiscid:
|
||||
logger.debug('getMusicBrainzDiscId: returning cached %r'
|
||||
% self.mbdiscid)
|
||||
logger.debug('getMusicBrainzDiscId: returning cached %r',
|
||||
self.mbdiscid)
|
||||
return self.mbdiscid
|
||||
values = self._getMusicBrainzValues()
|
||||
|
||||
@@ -381,7 +381,7 @@ class Table(object):
|
||||
assert len(result) == 28, \
|
||||
"Result should be 28 characters, not %d" % len(result)
|
||||
|
||||
logger.debug('getMusicBrainzDiscId: returning %r' % result)
|
||||
logger.debug('getMusicBrainzDiscId: returning %r', result)
|
||||
self.mbdiscid = result
|
||||
return result
|
||||
|
||||
@@ -489,7 +489,7 @@ class Table(object):
|
||||
targetPath = common.getRelativePath(path, cuePath)
|
||||
line = 'FILE "%s" WAVE' % targetPath
|
||||
lines.append(line)
|
||||
logger.debug('writeFile: %r' % line)
|
||||
logger.debug('writeFile: %r', line)
|
||||
|
||||
# header
|
||||
main = ['PERFORMER', 'TITLE']
|
||||
@@ -530,11 +530,11 @@ class Table(object):
|
||||
counter = index.counter
|
||||
|
||||
if index.path:
|
||||
logger.debug('counter %d, writeFile' % counter)
|
||||
logger.debug('counter %d, writeFile', counter)
|
||||
writeFile(index.path)
|
||||
|
||||
for i, track in enumerate(self.tracks):
|
||||
logger.debug('track i %r, track %r' % (i, track))
|
||||
logger.debug('track i %r, track %r', i, track)
|
||||
# FIXME: skip data tracks for now
|
||||
if not track.audio:
|
||||
continue
|
||||
@@ -545,7 +545,7 @@ class Table(object):
|
||||
|
||||
for number in indexes:
|
||||
index = track.indexes[number]
|
||||
logger.debug('index %r, %r' % (number, index))
|
||||
logger.debug('index %r, %r', number, index)
|
||||
|
||||
# any time the source counter changes to a higher value,
|
||||
# write a FILE statement
|
||||
@@ -553,9 +553,9 @@ class Table(object):
|
||||
# at counter 0 here
|
||||
if index.counter > counter:
|
||||
if index.path:
|
||||
logger.debug('counter %d, writeFile' % counter)
|
||||
logger.debug('counter %d, writeFile', counter)
|
||||
writeFile(index.path)
|
||||
logger.debug('setting counter to index.counter %r' %
|
||||
logger.debug('setting counter to index.counter %r',
|
||||
index.counter)
|
||||
counter = index.counter
|
||||
|
||||
@@ -564,7 +564,7 @@ class Table(object):
|
||||
wroteTrack = True
|
||||
line = " TRACK %02d %s" % (i + 1, 'AUDIO')
|
||||
lines.append(line)
|
||||
logger.debug('%r' % line)
|
||||
logger.debug('%r', line)
|
||||
|
||||
for key in CDTEXT_FIELDS:
|
||||
if key in track.cdtext:
|
||||
@@ -620,7 +620,7 @@ class Table(object):
|
||||
while True:
|
||||
track = self.tracks[t - 1]
|
||||
index = track.getIndex(i)
|
||||
logger.debug('Clearing path on track %d, index %d', t, i)
|
||||
logger.debug('clearing path on track %d, index %d', t, i)
|
||||
index.path = None
|
||||
index.relative = None
|
||||
try:
|
||||
@@ -639,9 +639,8 @@ class Table(object):
|
||||
@type track: C{int}
|
||||
@type index: C{int}
|
||||
"""
|
||||
logger.debug('setFile: track %d, index %d, path %r, '
|
||||
'length %r, counter %r', track, index, path, length,
|
||||
counter)
|
||||
logger.debug('setFile: track %d, index %d, path %r, length %r, '
|
||||
'counter %r', track, index, path, length, counter)
|
||||
|
||||
t = self.tracks[track - 1]
|
||||
i = t.indexes[index]
|
||||
@@ -654,9 +653,9 @@ class Table(object):
|
||||
i.path = path
|
||||
i.relative = i.absolute - start
|
||||
i.counter = counter
|
||||
logger.debug('Setting path %r, relative %r on '
|
||||
'track %d, index %d, counter %r',
|
||||
path, i.relative, track, index, counter)
|
||||
logger.debug('setting path %r, relative %r on track %d, '
|
||||
'index %d, counter %r', path, i.relative, track,
|
||||
index, counter)
|
||||
try:
|
||||
track, index = self.getNextTrackIndex(track, index)
|
||||
t = self.tracks[track - 1]
|
||||
@@ -682,13 +681,13 @@ class Table(object):
|
||||
assert track.number == t
|
||||
assert index.number == i
|
||||
if index.counter is None:
|
||||
logger.debug('Track %d, index %d has no counter', t, i)
|
||||
logger.debug('track %d, index %d has no counter', t, i)
|
||||
break
|
||||
if index.counter != counter:
|
||||
logger.debug(
|
||||
'Track %d, index %d has a different counter', t, i)
|
||||
logger.debug('track %d, index %d has a different counter',
|
||||
t, i)
|
||||
break
|
||||
logger.debug('Setting absolute offset %d on track %d, index %d',
|
||||
logger.debug('setting absolute offset %d on track %d, index %d',
|
||||
index.relative, t, i)
|
||||
if index.absolute is not None:
|
||||
if index.absolute != index.relative:
|
||||
@@ -722,18 +721,16 @@ class Table(object):
|
||||
for i in list(t.indexes.values()):
|
||||
if i.absolute is not None:
|
||||
i.absolute += self.leadout + gap
|
||||
logger.debug('Fixing track %02d, index %02d, '
|
||||
'absolute %d' % (
|
||||
t.number, i.number, i.absolute))
|
||||
logger.debug('fixing track %02d, index %02d, absolute %d',
|
||||
t.number, i.number, i.absolute)
|
||||
if i.counter is not None:
|
||||
i.counter += sourceCounter
|
||||
logger.debug('Fixing track %02d, index %02d, '
|
||||
'counter %d' % (
|
||||
t.number, i.number, i.counter))
|
||||
logger.debug('fixing track %02d, index %02d, counter %d',
|
||||
t.number, i.number, i.counter)
|
||||
self.tracks.append(t)
|
||||
|
||||
self.leadout += other.leadout + gap # FIXME
|
||||
logger.debug('Fixing leadout, now %d', self.leadout)
|
||||
logger.debug('fixing leadout, now %d', self.leadout)
|
||||
|
||||
def _getSessionGap(self, session):
|
||||
# From cdrecord multi-session info:
|
||||
@@ -841,13 +838,13 @@ class Table(object):
|
||||
Check if this table can be used to generate a .cue file
|
||||
"""
|
||||
if not self.hasTOC():
|
||||
logger.debug('No TOC, cannot cue')
|
||||
logger.debug('no TOC, cannot cue')
|
||||
return False
|
||||
|
||||
for t in self.tracks:
|
||||
for i in list(t.indexes.values()):
|
||||
if i.relative is None:
|
||||
logger.debug('Track %02d, Index %02d does not '
|
||||
logger.debug('track %02d, Index %02d does not '
|
||||
'have relative', t.number, i.number)
|
||||
return False
|
||||
|
||||
|
||||
@@ -109,8 +109,8 @@ class Sources:
|
||||
@type counter: int
|
||||
@param offset: the absolute disc offset where this source starts
|
||||
"""
|
||||
logger.debug('Appending source, counter %d, abs offset %d, '
|
||||
'source %r' % (counter, offset, source))
|
||||
logger.debug('appending source, counter %d, abs offset %d, '
|
||||
'source %r', counter, offset, source)
|
||||
self._sources.append((counter, offset, source))
|
||||
|
||||
def get(self, offset):
|
||||
@@ -152,8 +152,8 @@ class TocFile(object):
|
||||
absolute = absoluteOffset + trackOffset
|
||||
# this may be in a new source, so calculate relative
|
||||
c, o, s = self._sources.get(absolute)
|
||||
logger.debug('at abs offset %d, we are in source %r' % (
|
||||
absolute, s))
|
||||
logger.debug('at abs offset %d, we are in source %r',
|
||||
absolute, s)
|
||||
counterStart = self._sources.getCounterStart(c)
|
||||
relative = absolute - counterStart
|
||||
|
||||
@@ -161,10 +161,9 @@ class TocFile(object):
|
||||
absolute=absolute,
|
||||
relative=relative,
|
||||
counter=c)
|
||||
logger.debug(
|
||||
'[track %02d index %02d] trackOffset %r, added %r',
|
||||
currentTrack.number, i, trackOffset,
|
||||
currentTrack.getIndex(i))
|
||||
logger.debug('[track %02d index %02d] trackOffset %r, added %r',
|
||||
currentTrack.number, i, trackOffset,
|
||||
currentTrack.getIndex(i))
|
||||
|
||||
def parse(self):
|
||||
currentFile = None
|
||||
@@ -209,11 +208,11 @@ class TocFile(object):
|
||||
# is a limitation of our parser approach
|
||||
if state == 'HEADER':
|
||||
self.table.cdtext[key] = value
|
||||
logger.debug('Found disc CD-Text %s: %r', key, value)
|
||||
logger.debug('found disc CD-Text %s: %r', key, value)
|
||||
elif state == 'TRACK':
|
||||
if key != 'ISRC' or not currentTrack \
|
||||
or currentTrack.isrc is not None:
|
||||
logger.debug('Found track CD-Text %s: %r',
|
||||
logger.debug('found track CD-Text %s: %r',
|
||||
key, value)
|
||||
currentTrack.cdtext[key] = value
|
||||
|
||||
@@ -221,7 +220,7 @@ class TocFile(object):
|
||||
m = _CATALOG_RE.search(line)
|
||||
if m:
|
||||
self.table.catalog = m.group('catalog')
|
||||
logger.debug("Found catalog number %s", self.table.catalog)
|
||||
logger.debug("found catalog number %s", self.table.catalog)
|
||||
|
||||
# look for TRACK lines
|
||||
m = _TRACK_RE.search(line)
|
||||
@@ -260,23 +259,23 @@ class TocFile(object):
|
||||
m = _PRE_EMPHASIS_RE.search(line)
|
||||
if m:
|
||||
currentTrack.pre_emphasis = True
|
||||
logger.debug('Track has PRE_EMPHASIS')
|
||||
logger.debug('track has PRE_EMPHASIS')
|
||||
|
||||
# look for ISRC lines
|
||||
m = _ISRC_RE.search(line)
|
||||
if m:
|
||||
isrc = m.group('isrc')
|
||||
currentTrack.isrc = isrc
|
||||
logger.debug('Found ISRC code %s', isrc)
|
||||
logger.debug('found ISRC code %s', isrc)
|
||||
|
||||
# look for SILENCE lines
|
||||
m = _SILENCE_RE.search(line)
|
||||
if m:
|
||||
length = m.group('length')
|
||||
logger.debug('SILENCE of %r', length)
|
||||
logger.debug('silence of %r', length)
|
||||
self._sources.append(counter, absoluteOffset, None)
|
||||
if currentFile is not None:
|
||||
logger.debug('SILENCE after FILE, increasing counter')
|
||||
logger.debug('silence after file, increasing counter')
|
||||
counter += 1
|
||||
relativeOffset = 0
|
||||
currentFile = None
|
||||
@@ -286,7 +285,7 @@ class TocFile(object):
|
||||
m = _ZERO_RE.search(line)
|
||||
if m:
|
||||
if currentFile is not None:
|
||||
logger.debug('ZERO after FILE, increasing counter')
|
||||
logger.debug('zero after file, increasing counter')
|
||||
counter += 1
|
||||
relativeOffset = 0
|
||||
currentFile = None
|
||||
@@ -299,13 +298,13 @@ class TocFile(object):
|
||||
filePath = m.group('name')
|
||||
start = m.group('start')
|
||||
length = m.group('length')
|
||||
logger.debug('FILE %s, start %r, length %r',
|
||||
logger.debug('file %s, start %r, length %r',
|
||||
filePath, common.msfToFrames(start),
|
||||
common.msfToFrames(length))
|
||||
if not currentFile or filePath != currentFile.path:
|
||||
counter += 1
|
||||
relativeOffset = 0
|
||||
logger.debug('track %d, switched to new FILE, '
|
||||
logger.debug('track %d, switched to new file, '
|
||||
'increased counter to %d',
|
||||
trackNumber, counter)
|
||||
currentFile = File(filePath, common.msfToFrames(start),
|
||||
@@ -319,12 +318,12 @@ class TocFile(object):
|
||||
if m:
|
||||
filePath = m.group('name')
|
||||
length = m.group('length')
|
||||
logger.debug('FILE %s, length %r',
|
||||
logger.debug('file %s, length %r',
|
||||
filePath, common.msfToFrames(length))
|
||||
if not currentFile or filePath != currentFile.path:
|
||||
counter += 1
|
||||
relativeOffset = 0
|
||||
logger.debug('track %d, switched to new FILE, '
|
||||
logger.debug('track %d, switched to new file, '
|
||||
'increased counter to %d',
|
||||
trackNumber, counter)
|
||||
# FIXME: assume that a MODE2_FORM_MIX track always starts at 0
|
||||
@@ -343,8 +342,8 @@ class TocFile(object):
|
||||
|
||||
length = common.msfToFrames(m.group('length'))
|
||||
c, o, s = self._sources.get(absoluteOffset)
|
||||
logger.debug('at abs offset %d, we are in source %r' % (
|
||||
absoluteOffset, s))
|
||||
logger.debug('at abs offset %d, we are in source %r',
|
||||
absoluteOffset, s)
|
||||
counterStart = self._sources.getCounterStart(c)
|
||||
relativeOffset = absoluteOffset - counterStart
|
||||
|
||||
|
||||
@@ -36,17 +36,13 @@ def accuraterip_checksum(f, track_number, total_tracks, wave=False, v2=False):
|
||||
if not wave:
|
||||
flac.wait()
|
||||
if flac.returncode != 0:
|
||||
logger.warning(
|
||||
'ARC calculation failed: flac return code is non zero: %r' %
|
||||
flac.returncode
|
||||
)
|
||||
logger.warning('ARC calculation failed: flac '
|
||||
'return code is non zero: %r', flac.returncode)
|
||||
return None
|
||||
|
||||
if arc.returncode != 0:
|
||||
logger.warning(
|
||||
'ARC calculation failed: arc return code is non zero: %r' %
|
||||
arc.returncode
|
||||
)
|
||||
logger.warning('ARC calculation failed: '
|
||||
'arc return code is non zero: %r', arc.returncode)
|
||||
return None
|
||||
|
||||
try:
|
||||
|
||||
@@ -121,8 +121,8 @@ class ProgressParser:
|
||||
|
||||
def _parse_read(self, wordOffset):
|
||||
if wordOffset % common.WORDS_PER_FRAME != 0:
|
||||
logger.debug('THOMAS: not a multiple of %d: %d' % (
|
||||
common.WORDS_PER_FRAME, wordOffset))
|
||||
logger.debug('THOMAS: not a multiple of %d: %d',
|
||||
common.WORDS_PER_FRAME, wordOffset)
|
||||
return
|
||||
|
||||
frameOffset = wordOffset / common.WORDS_PER_FRAME
|
||||
@@ -190,7 +190,7 @@ class ProgressParser:
|
||||
"""
|
||||
frames = self.stop - self.start + 1 # + 1 since stop is inclusive
|
||||
reads = self.reads
|
||||
logger.debug('getTrackQuality: frames %d, reads %d' % (frames, reads))
|
||||
logger.debug('getTrackQuality: frames %d, reads %d', frames, reads)
|
||||
|
||||
try:
|
||||
# don't go over a 100%
|
||||
@@ -272,12 +272,11 @@ class ReadTrackTask(task.Task):
|
||||
stopTrack = i + 1
|
||||
stopOffset = self._stop - self._table.getTrackStart(i + 1)
|
||||
|
||||
logger.debug('Ripping from %d to %d (inclusive)',
|
||||
self._start, self._stop)
|
||||
logger.debug('Starting at track %d, offset %d',
|
||||
startTrack, startOffset)
|
||||
logger.debug('Stopping at track %d, offset %d',
|
||||
stopTrack, stopOffset)
|
||||
logger.debug('ripping from %d to %d (inclusive)', self._start,
|
||||
self._stop)
|
||||
logger.debug('starting at track %d, offset %d', startTrack,
|
||||
startOffset)
|
||||
logger.debug('stopping at track %d, offset %d', stopTrack, stopOffset)
|
||||
|
||||
bufsize = 1024
|
||||
if self._overread:
|
||||
@@ -292,7 +291,7 @@ class ReadTrackTask(task.Task):
|
||||
startTrack, common.framesToHMSF(startOffset),
|
||||
stopTrack, common.framesToHMSF(stopOffset)),
|
||||
self.path])
|
||||
logger.debug('Running %s' % (" ".join(argv), ))
|
||||
logger.debug('running %s', (" ".join(argv), ))
|
||||
try:
|
||||
self._popen = asyncsub.Popen(argv,
|
||||
bufsize=bufsize,
|
||||
@@ -372,7 +371,7 @@ class ReadTrackTask(task.Task):
|
||||
logger.warning('file size %d did not match expected size %d',
|
||||
size, expected)
|
||||
if (size - expected) % common.BYTES_PER_FRAME == 0:
|
||||
logger.warning('%d frames difference' % (
|
||||
logger.warning('%d frames difference', (
|
||||
(size - expected) / common.BYTES_PER_FRAME))
|
||||
else:
|
||||
logger.warning('non-integral amount of frames difference')
|
||||
@@ -452,7 +451,7 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
|
||||
"""
|
||||
task.MultiSeparateTask.__init__(self)
|
||||
|
||||
logger.debug('Creating read and verify task on %r', path)
|
||||
logger.debug('creating read and verify task on %r', path)
|
||||
|
||||
if taglist:
|
||||
logger.debug('read and verify with taglist %r', taglist)
|
||||
@@ -521,12 +520,12 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
|
||||
self.testchecksum = c1 = self.tasks[1].checksum
|
||||
self.copychecksum = c2 = self.tasks[3].checksum
|
||||
if c1 == c2:
|
||||
logger.info('Checksums match, %08x' % c1)
|
||||
logger.info('checksums match, %08x', c1)
|
||||
self.checksum = self.testchecksum
|
||||
else:
|
||||
# FIXME: detect this before encoding
|
||||
logger.info('Checksums do not match, %08x %08x' % (
|
||||
c1, c2))
|
||||
logger.info('checksums do not match, %08x %08x',
|
||||
c1, c2)
|
||||
self.exception = ChecksumException(
|
||||
'read and verify failed: test checksum')
|
||||
|
||||
@@ -539,11 +538,11 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
|
||||
|
||||
if not self.exception:
|
||||
try:
|
||||
logger.debug('Moving to final path %r', self.path)
|
||||
logger.debug('moving to final path %r', self.path)
|
||||
os.rename(self._tmppath, self.path)
|
||||
except Exception as e:
|
||||
logger.debug('Exception while moving to final '
|
||||
'path %r: %r', self.path, str(e))
|
||||
logger.debug('exception while moving to final '
|
||||
'path %r: %s', self.path, e)
|
||||
self.exception = e
|
||||
else:
|
||||
os.unlink(self._tmppath)
|
||||
|
||||
@@ -77,7 +77,7 @@ def version():
|
||||
out, err = cdrdao.communicate()
|
||||
if cdrdao.returncode != 1:
|
||||
logger.warning("cdrdao version detection failed: "
|
||||
"return code is " + str(cdrdao.returncode))
|
||||
"return code is %s", cdrdao.returncode)
|
||||
return None
|
||||
m = re.compile(r'^Cdrdao version (?P<version>.*) - \(C\)').search(
|
||||
err.decode('utf-8'))
|
||||
|
||||
@@ -20,7 +20,7 @@ def peak_level(track_path):
|
||||
sox = Popen([SOX, track_path, "-n", "stats", "-b", "16"], stderr=PIPE)
|
||||
out, err = sox.communicate()
|
||||
if sox.returncode:
|
||||
logger.warning("SoX peak detection failed: " + str(sox.returncode))
|
||||
logger.warning("SoX peak detection failed: %s", sox.returncode)
|
||||
return None
|
||||
# relevant captured lines looks like this:
|
||||
# Min level -26215
|
||||
|
||||
Reference in New Issue
Block a user