Ejemplo n.º 1
0
def optimize_cover(audio: MP3):
    apic = retrieve_album_art(audio)
    if apic:
        data = apic.data
        data = io.BytesIO(data)
        im = Image.open(data)
        new_data = io.BytesIO()
        im.save(new_data, optimize=True, format='JPEG')
        if len(data.getvalue()) - len(new_data.getvalue()) > 0:
            audio['APIC:'] = mutagen.id3.APIC(
                encoding=0,  # 3 is for utf-8
                mime='image/jpeg',  # image/jpeg or image/png
                type=3,  # 3 is for the cover image
                # desc=u'Cover',
                data=new_data.getvalue()
            )
            audio.save()
Ejemplo n.º 2
0
def optimize_cover(audio: MP3):
    apic = retrieve_album_art(audio)
    if apic:
        data = apic.data
        data = io.BytesIO(data)
        im = Image.open(data)
        new_data = io.BytesIO()
        try:
            im.save(new_data, optimize=True, format='JPEG', quality=95)
        except OSError:
            im.convert('RGB').save(new_data,
                                   optimize=True,
                                   format='JPEG',
                                   quality=95)
        if len(data.getvalue()) - len(new_data.getvalue()) > 0:
            audio['APIC:'] = mutagen.id3.APIC(encoding=0,
                                              mime='image/jpeg',
                                              type=3,
                                              data=new_data.getvalue())
            audio.save()
Ejemplo n.º 3
0
def remove_covers(audio: MP3):
    for key in audio.keys():
        if key.startswith('APIC'): audio.pop(key)
    audio.save()