コード例 #1
0
ファイル: program.py プロジェクト: MerlijnWajer/whipper
    def verifyImage(self, runner, table):
        """Verify table against accuraterip and cue_path track lengths.

        Verify our image against the given AccurateRip responses.

        Needs an initialized self.result.
        Will set accurip and friends on each TrackResult.

        Populates self.result.tracks with above TrackResults.

        :param runner:
        :type runner:
        :param table:
        :type table:
        """
        cueImage = image.Image(self.cuePath)
        # assigns track lengths
        verifytask = image.ImageVerifyTask(cueImage)
        runner.run(verifytask)
        if verifytask.exception:
            logger.error(verifytask.exceptionMessage)
            return False

        responses = accurip.get_db_entry(table.accuraterip_path())
        logger.info('%d AccurateRip response(s) found' % len(responses))

        checksums = accurip.calculate_checksums([
            os.path.join(os.path.dirname(self.cuePath), t.indexes[1].path)
            for t in filter(lambda t: t.number != 0, cueImage.cue.table.tracks)
        ])
        if not (checksums and any(checksums['v1']) and any(checksums['v2'])):
            return False
        return accurip.verify_result(self.result, responses, checksums)
コード例 #2
0
ファイル: program.py プロジェクト: terinjokes/whipper
    def verifyImage(self, runner, table):
        """
        verify table against accuraterip and cue_path track lengths
        Verify our image against the given AccurateRip responses.

        Needs an initialized self.result.
        Will set accurip and friends on each TrackResult.

        Populates self.result.tracks with above TrackResults.
        """
        cueImage = image.Image(self.cuePath)
        # assigns track lengths
        verifytask = image.ImageVerifyTask(cueImage)
        runner.run(verifytask)
        if verifytask.exception:
            logger.error(verifytask.exceptionMessage)
            return False

        responses = accurip.get_db_entry(table.accuraterip_path())
        logger.info('%d AccurateRip response(s) found', len(responses))

        checksums = accurip.calculate_checksums([
            os.path.join(os.path.dirname(self.cuePath), t.indexes[1].path)
            for t in [t for t in cueImage.cue.table.tracks if t.number != 0]
        ])
        if not (checksums and any(checksums['v1']) and any(checksums['v2'])):
            return False
        return accurip.verify_result(self.result, responses, checksums)
コード例 #3
0
 def test_returns_none_for_bad_files(self):
     self.assertEqual(calculate_checksums(['/does/not/exist']), {
         'v1': [None],
         'v2': [None]
     })
コード例 #4
0
 def test_returns_none_for_bad_files(self):
     self.assertEquals(
         calculate_checksums(['/does/not/exist']),
         {'v1': [None], 'v2': [None]}
     )