mirror of
https://github.com/beetbox/beets.git
synced 2025-12-25 18:13:17 +01:00
catch Ogg header error (#133)
This commit is contained in:
parent
7baf41827d
commit
c698868bf0
2 changed files with 7 additions and 0 deletions
|
|
@ -31,6 +31,7 @@ if no tag is present. If no value is available, the value will be false
|
|||
|
||||
import mutagen
|
||||
import mutagen.mp3
|
||||
import mutagen.oggvorbis
|
||||
import mutagen.mp4
|
||||
import mutagen.flac
|
||||
import mutagen.monkeysaudio
|
||||
|
|
@ -109,6 +110,7 @@ def _safe_cast(out_type, val):
|
|||
else:
|
||||
return val
|
||||
|
||||
|
||||
# Flags for encoding field behavior.
|
||||
|
||||
class Enumeration(object):
|
||||
|
|
@ -487,6 +489,7 @@ class MediaFile(object):
|
|||
mutagen.flac.FLACNoHeaderError,
|
||||
mutagen.monkeysaudio.MonkeysAudioHeaderError,
|
||||
mutagen.mp4.MP4StreamInfoError,
|
||||
mutagen.oggvorbis.OggVorbisHeaderError,
|
||||
)
|
||||
try:
|
||||
self.mgfile = mutagen.File(path)
|
||||
|
|
|
|||
|
|
@ -109,6 +109,10 @@ class SafetyTest(unittest.TestCase):
|
|||
|
||||
def test_corrupt_ogg_raises_unreadablefileerror(self):
|
||||
self._exccheck('corrupt.ogg', beets.mediafile.UnreadableFileError)
|
||||
|
||||
def test_invalid_ogg_header_raises_unreadablefileerror(self):
|
||||
self._exccheck('corrupt.ogg', beets.mediafile.UnreadableFileError,
|
||||
'OggS\x01vorbis')
|
||||
|
||||
def test_corrupt_monkeys_raises_unreadablefileerror(self):
|
||||
self._exccheck('corrupt.ape', beets.mediafile.UnreadableFileError)
|
||||
|
|
|
|||
Loading…
Reference in a new issue