Ejemplo n.º 1
0
 def test_id3_indicates_mp3_not_tta(self):
     header = b"ID3 the rest of this is garbage"
     fileobj = cBytesIO(header)
     filename = "not-identifiable.ext"
     self.failUnless(
         TrueAudio.score(filename, fileobj, header) < MP3.score(
             filename, fileobj, header))
Ejemplo n.º 2
0
class TTrueAudio(TestCase):
    uses_mmap = False

    def setUp(self):
        self.audio = TrueAudio(os.path.join("tests", "data", "empty.tta"))

    def test_tags(self):
        self.failUnless(self.audio.tags is None)

    def test_length(self):
        self.failUnlessAlmostEqual(self.audio.info.length, 3.7, 1)

    def test_sample_rate(self):
        self.failUnlessEqual(44100, self.audio.info.sample_rate)

    def test_not_my_file(self):
        filename = os.path.join("tests", "data", "empty.ogg")
        self.failUnlessRaises(IOError, TrueAudio, filename)

    def test_module_delete(self):
        delete(os.path.join("tests", "data", "empty.tta"))

    def test_delete(self):
        self.audio.delete()
        self.failIf(self.audio.tags)

    def test_pprint(self):
        self.failUnless(self.audio.pprint())

    def test_save_reload(self):
        try:
            fd, filename = mkstemp(suffix='.tta')
            os.close(fd)
            shutil.copy(self.audio.filename, filename)
            audio = TrueAudio(filename)
            audio.add_tags()
            audio.tags.add(TIT1(encoding=0, text="A Title"))
            audio.save()
            audio = TrueAudio(filename)
            self.failUnlessEqual(audio["TIT1"], "A Title")
        finally:
            os.unlink(filename)

    def test_mime(self):
        self.failUnless("audio/x-tta" in self.audio.mime)
Ejemplo n.º 3
0
class TTrueAudio(TestCase):
    uses_mmap = False

    def setUp(self):
        self.audio = TrueAudio(os.path.join("tests", "data", "empty.tta"))

    def test_tags(self):
        self.failUnless(self.audio.tags is None)

    def test_length(self):
        self.failUnlessAlmostEqual(self.audio.info.length, 3.7, 1)

    def test_sample_rate(self):
        self.failUnlessEqual(44100, self.audio.info.sample_rate)

    def test_not_my_file(self):
        filename = os.path.join("tests", "data", "empty.ogg")
        self.failUnlessRaises(IOError, TrueAudio, filename)

    def test_module_delete(self):
        delete(os.path.join("tests", "data", "empty.tta"))

    def test_delete(self):
        self.audio.delete()
        self.failIf(self.audio.tags)

    def test_pprint(self):
        self.failUnless(self.audio.pprint())

    def test_save_reload(self):
        try:
            fd, filename = mkstemp(suffix='.tta')
            os.close(fd)
            shutil.copy(self.audio.filename, filename)
            audio = TrueAudio(filename)
            audio.add_tags()
            audio.tags.add(TIT1(encoding=0, text="A Title"))
            audio.save()
            audio = TrueAudio(filename)
            self.failUnlessEqual(audio["TIT1"], "A Title")
        finally:
            os.unlink(filename)

    def test_mime(self):
        self.failUnless("audio/x-tta" in self.audio.mime)
Ejemplo n.º 4
0
 def __init__(self, file, threshold=60, duration_distance_threshold=10000):
     self.file = file
     self.threshold = threshold
     self.ddt = duration_distance_threshold
     self.cleaner = re.compile(r"[^A-Za-z0-9 ]").sub
     try:
         self.audio = MP3(file, ID3=EasyID3)
     except:
         try:
             self.audio = FLAC(file)
         except:
             try:
                 self.audio = OggVorbis(file)
             except:
                 try:
                     self.audio = OggFLAC(file)
                 except:
                     try:
                         self.audio = OggTheora(file)
                     except:
                         try:
                             self.audio = APEv2(file)
                         except:
                             try:
                                 self.audio = ASF(file)
                             except:
                                 try:
                                     self.audio = MP4(file)
                                 except:
                                     try:
                                         self.audio = Musepack(file)
                                     except:
                                         try:
                                             self.audio = TrueAudio(file)
                                         except:
                                             try:
                                                 self.audio = WavPack(file)
                                             except:
                                                 raise FileTypeException(
                                                     'Unknown file type, no metadata, or file not found.'
                                                 )
     try:
         [title] = self.audio['title']
         self.title = self.__clean_literal(str(title))
     except:
         self.title = None
     try:
         [artist] = self.audio['artist']
         self.artist = self.__clean_literal(str(artist))
     except:
         self.artist = None
     try:
         [album] = self.audio['album']
         self.album = self.__clean_literal(str(album))
     except:
         self.album = None
     self.mbzQuery()
Ejemplo n.º 5
0
 def test_save_reload(self):
     filename = get_temp_copy(self.audio.filename)
     try:
         audio = TrueAudio(filename)
         audio.add_tags()
         audio.tags.add(TIT1(encoding=0, text="A Title"))
         audio.save()
         audio = TrueAudio(filename)
         self.failUnlessEqual(audio["TIT1"], "A Title")
     finally:
         os.unlink(filename)
Ejemplo n.º 6
0
class TTrueAudio(TestCase):

    def setUp(self):
        self.audio = TrueAudio(os.path.join(DATA_DIR, "empty.tta"))

    def test_tags(self):
        self.failUnless(self.audio.tags is None)

    def test_length(self):
        self.failUnlessAlmostEqual(self.audio.info.length, 3.7, 1)

    def test_sample_rate(self):
        self.failUnlessEqual(44100, self.audio.info.sample_rate)

    def test_not_my_file(self):
        filename = os.path.join(DATA_DIR, "empty.ogg")
        self.failUnlessRaises(error, TrueAudio, filename)

    def test_module_delete(self):
        delete(os.path.join(DATA_DIR, "empty.tta"))

    def test_delete(self):
        self.audio.delete()
        self.failIf(self.audio.tags)

    def test_pprint(self):
        self.failUnless(self.audio.pprint())

    def test_save_reload(self):
        filename = get_temp_copy(self.audio.filename)
        try:
            audio = TrueAudio(filename)
            audio.add_tags()
            audio.tags.add(TIT1(encoding=0, text="A Title"))
            audio.save()
            audio = TrueAudio(filename)
            self.failUnlessEqual(audio["TIT1"], "A Title")
        finally:
            os.unlink(filename)

    def test_mime(self):
        self.failUnless("audio/x-tta" in self.audio.mime)
Ejemplo n.º 7
0
 def test_save_reload(self):
     try:
         fd, filename = mkstemp(suffix='.tta')
         os.close(fd)
         shutil.copy(self.audio.filename, filename)
         audio = TrueAudio(filename)
         audio.add_tags()
         audio.tags.add(TIT1(encoding=0, text="A Title"))
         audio.save()
         audio = TrueAudio(filename)
         self.failUnlessEqual(audio["TIT1"], "A Title")
     finally:
         os.unlink(filename)
Ejemplo n.º 8
0
 def test_save_reload(self):
     try:
         fd, filename = mkstemp(suffix='.tta')
         os.close(fd)
         shutil.copy(self.audio.filename, filename)
         audio = TrueAudio(filename)
         audio.add_tags()
         audio.tags.add(TIT1(encoding=0, text="A Title"))
         audio.save()
         audio = TrueAudio(filename)
         self.failUnlessEqual(audio["TIT1"], "A Title")
     finally:
         os.unlink(filename)
Ejemplo n.º 9
0
 def setUp(self):
     self.audio = TrueAudio(os.path.join(DATA_DIR, "empty.tta"))
Ejemplo n.º 10
0
 def test_id3_indicates_mp3_not_tta(self):
     header = b"ID3 the rest of this is garbage"
     fileobj = cBytesIO(header)
     filename = "not-identifiable.ext"
     self.failUnless(TrueAudio.score(filename, fileobj, header) <
                     MP3.score(filename, fileobj, header))
Ejemplo n.º 11
0
 def setUp(self):
     self.audio = TrueAudio(os.path.join("tests", "data", "empty.tta"))
Ejemplo n.º 12
0
 def setUp(self):
     self.audio = TrueAudio(os.path.join("tests", "data", "empty.tta"))
Ejemplo n.º 13
0
 def setUp(self):
     self.audio = TrueAudio(os.path.join(DATA_DIR, "empty.tta"))