Example #1
0
    def _arcs(self, runner, table, track, offset):
        # rips the track with the given offset, return the arcs checksums
        logger.debug('ripping track %r with offset %d...', track, offset)

        fd, path = tempfile.mkstemp(suffix=u'.track%02d.offset%d.whipper.wav' %
                                    (track, offset))
        os.close(fd)

        t = cdparanoia.ReadTrackTask(path,
                                     table,
                                     table.getTrackStart(track),
                                     table.getTrackEnd(track),
                                     overread=False,
                                     offset=offset,
                                     device=self.options.device)
        t.description = 'Ripping track %d with read offset %d' % (track,
                                                                  offset)
        runner.run(t)

        v1 = arc.accuraterip_checksum(path,
                                      track,
                                      len(table.tracks),
                                      wave=True,
                                      v2=False)
        v2 = arc.accuraterip_checksum(path,
                                      track,
                                      len(table.tracks),
                                      wave=True,
                                      v2=True)

        os.unlink(path)
        return ("%08x" % v1, "%08x" % v2)
Example #2
0
    def _arcs(self, runner, table, track, offset):
        # rips the track with the given offset, return the arcs checksum
        logger.debug('Ripping track %r with offset %d ...', track, offset)

        fd, path = tempfile.mkstemp(suffix=u'.track%02d.offset%d.whipper.wav' %
                                    (track, offset))
        os.close(fd)

        t = cdparanoia.ReadTrackTask(path,
                                     table,
                                     table.getTrackStart(track),
                                     table.getTrackEnd(track),
                                     overread=False,
                                     offset=offset,
                                     device=self.options.device)
        t.description = 'Ripping track %d with read offset %d' % (track,
                                                                  offset)
        runner.run(t)

        # TODO MW: Update this to also use the v2 checksum(s)
        t = checksum.FastAccurateRipChecksumTask(path,
                                                 trackNumber=track,
                                                 trackCount=len(table.tracks),
                                                 wave=True,
                                                 v2=False)
        runner.run(t)

        os.unlink(path)
        return "%08x" % t.checksum