Skip to content

Latest commit

 

History

History
89 lines (50 loc) · 2.64 KB

Readme.md

File metadata and controls

89 lines (50 loc) · 2.64 KB

cyril

Now Unmaintained.

Download and Embed lyrics into your music files. Based on Clementine's port of the Amarok Ultimate Lyrics Script.

The code design was taken from youtube-dl - each lyrics site lives in a separate file in cyril/providers/. There's also some tests that would ensure that each site is being scraped correctly.

I started writing this script on a weekend in August 2015 when I had lots of other important stuff to do - preparing for job interviews, completing a college project, finishing an online course and god knows what else. This stupid lyrics scraping script was my escape.

supported sites

[x] azlyrics.com

[ ] darklyrics.com

[x] directlyrics.com

[x] elyrics.net

[ ] metal-archives.com

[ ] letras.terra.com.br

[ ] api.lololyrics.com

[ ] loudson.gs

[x] lyrics.com

[x] lyrics.wikia.com

[ ] lyricsbay.com

[ ] lyricsdownload.com

[ ] lyricsmania.com

[ ] lyricsmode.com

[ ] lyricsplugin.com

[ ] lyricsreg.com

[ ] lyricstime.com

[ ] lyriki.com

[x] metrolyrics.com

[ ] mp3lyrics.org

[ ] seeklyrics.com

[x] songlyrics.com

[ ] tekstowo.pl

[ ] teksty.org

[ ] vagalume.com.br

'cyril'?

from itertools import permutations, islice
assert 'cyril' == "".join(next(islice(permutations('lyric'), 105, None)))

todo

  • command line options:

    • --order=LW,AZ,DL
    • skip if uslt tag already has some value
  • config file

    • priority of lyrics sites
    • where to store?
      • ~/.cyril.py
  • use parallel processing to fetch urls

    • fetch lyrics from multiple sites at once and store them in an array.
    • lyrics having similar lengths are more likely to be there correct one.
  • more unittests

    • travis.yml config
    • test lyrics of 3 old songs for each site