Esempio n. 1
0
def meta_from_mp3(file, mut: mp3.MP3):
    int_or_none = lambda x: None if x is None else int(x)
    extract = lambda x: None if x is None else x.text[0]
    extracti = lambda x: None if x is None else int(x.text[0])
    extractpcnt = lambda x: None if x is None else x.count
    extracttrk = lambda x: None if x is None else Track(*str2track(x.text[0])
                                                        or None)
    extractgnr = lambda x: None if x is None else Genre(str2genre(x.text[0]))

    return Meta(
        name=extract(mut.get(TIT2)),
        artist=extract(mut.get(TPE1)),
        albartist=extract(mut.get(TPE2)),
        album=extract(mut.get(TALB)),
        track=extracttrk(mut.get(TRCK)),
        genre=extractgnr(mut.get(TCON)),
        playcnt=extractpcnt(mut.get(PCNT)),
        year=extracti(mut.get(TYER)),
        cd=extract(mut.get(TPOS)),
        comment=extract(mut.get(COMM)),
    )
Esempio n. 2
0
def get_lyrics(audio: MP3):
    return audio.get(u"USLT::'eng'")
Esempio n. 3
0
def get_genre(audio: MP3):
    return audio.get('TCON')
Esempio n. 4
0
def get_year(audio: MP3):
    return audio.get('TDRC')