From a4f654a3f3eece9e7139ebd74ef64c1d604260b2 Mon Sep 17 00:00:00 2001 From: JoeLametta Date: Fri, 14 Dec 2018 11:02:20 +0000 Subject: [PATCH] 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 --- whipper/command/accurip.py | 9 +++--- whipper/command/cd.py | 42 ++++++++++++-------------- whipper/command/drive.py | 4 +-- whipper/command/main.py | 2 +- whipper/command/offset.py | 26 ++++++++-------- whipper/common/accurip.py | 34 ++++++++------------- whipper/common/cache.py | 16 +++++----- whipper/common/common.py | 9 +++--- whipper/common/config.py | 7 ++--- whipper/common/drive.py | 2 +- whipper/common/mbngs.py | 20 ++++++------ whipper/common/program.py | 45 +++++++++++++-------------- whipper/common/task.py | 12 +++----- whipper/image/cue.py | 2 +- whipper/image/image.py | 15 +++++---- whipper/image/table.py | 57 +++++++++++++++++------------------ whipper/image/toc.py | 43 +++++++++++++------------- whipper/program/arc.py | 12 +++----- whipper/program/cdparanoia.py | 35 +++++++++++---------- whipper/program/cdrdao.py | 2 +- whipper/program/sox.py | 2 +- 21 files changed, 182 insertions(+), 214 deletions(-) diff --git a/whipper/command/accurip.py b/whipper/command/accurip.py index d1f551b..e12f6c8 100644 --- a/whipper/command/accurip.py +++ b/whipper/command/accurip.py @@ -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): diff --git a/whipper/command/cd.py b/whipper/command/cd.py index 2f284b5..3419d73 100644 --- a/whipper/command/cd.py +++ b/whipper/command/cd.py @@ -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 diff --git a/whipper/command/drive.py b/whipper/command/drive.py index 0932375..0860cec 100644 --- a/whipper/command/drive.py +++ b/whipper/command/drive.py @@ -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 diff --git a/whipper/command/main.py b/whipper/command/main.py index e9c41d4..3e28fe8 100644 --- a/whipper/command/main.py +++ b/whipper/command/main.py @@ -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 diff --git a/whipper/command/offset.py b/whipper/command/offset.py index e0b94a8..9fe620c 100644 --- a/whipper/command/offset.py +++ b/whipper/command/offset.py @@ -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') diff --git a/whipper/common/accurip.py b/whipper/common/accurip.py index 1fc6d35..9085bd5 100644 --- a/whipper/common/accurip.py +++ b/whipper/common/accurip.py @@ -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]' % ( diff --git a/whipper/common/cache.py b/whipper/common/cache.py index d57cb04..5305ed3 100644 --- a/whipper/common/cache.py +++ b/whipper/common/cache.py @@ -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 diff --git a/whipper/common/common.py b/whipper/common/common.py index 39c0913..1b46d4e 100644 --- a/whipper/common/common.py +++ b/whipper/common/common.py @@ -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)) diff --git a/whipper/common/config.py b/whipper/common/config.py index 0762c7c..8d10935 100644 --- a/whipper/common/config.py +++ b/whipper/common/config.py @@ -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']: diff --git a/whipper/common/drive.py b/whipper/common/drive.py index ef5281c..37950fd 100644 --- a/whipper/common/drive.py +++ b/whipper/common/drive.py @@ -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() diff --git a/whipper/common/mbngs.py b/whipper/common/mbngs.py index c45e638..aaab4c1 100644 --- a/whipper/common/mbngs.py +++ b/whipper/common/mbngs.py @@ -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: diff --git a/whipper/common/program.py b/whipper/common/program.py index 7c0d5c7..08d892a 100644 --- a/whipper/common/program.py +++ b/whipper/common/program.py @@ -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 diff --git a/whipper/common/task.py b/whipper/common/task.py index f9c39cc..5e61933 100644 --- a/whipper/common/task.py +++ b/whipper/common/task.py @@ -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() diff --git a/whipper/image/cue.py b/whipper/image/cue.py index 2edee6f..4088c14 100644 --- a/whipper/image/cue.py +++ b/whipper/image/cue.py @@ -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()): diff --git a/whipper/image/image.py b/whipper/image/image.py index be71127..93120cc 100644 --- a/whipper/image/image.py +++ b/whipper/image/image.py @@ -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): diff --git a/whipper/image/table.py b/whipper/image/table.py index 387a5e1..1d03f96 100644 --- a/whipper/image/table.py +++ b/whipper/image/table.py @@ -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 diff --git a/whipper/image/toc.py b/whipper/image/toc.py index f327b5c..be5e521 100644 --- a/whipper/image/toc.py +++ b/whipper/image/toc.py @@ -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 diff --git a/whipper/program/arc.py b/whipper/program/arc.py index b5f41ad..e112d31 100644 --- a/whipper/program/arc.py +++ b/whipper/program/arc.py @@ -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: diff --git a/whipper/program/cdparanoia.py b/whipper/program/cdparanoia.py index 936c3e5..74871a4 100644 --- a/whipper/program/cdparanoia.py +++ b/whipper/program/cdparanoia.py @@ -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) diff --git a/whipper/program/cdrdao.py b/whipper/program/cdrdao.py index 01f5a20..148c9aa 100644 --- a/whipper/program/cdrdao.py +++ b/whipper/program/cdrdao.py @@ -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.*) - \(C\)').search( err.decode('utf-8')) diff --git a/whipper/program/sox.py b/whipper/program/sox.py index 1d40875..1ec54d3 100644 --- a/whipper/program/sox.py +++ b/whipper/program/sox.py @@ -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