A program to download lyrics from Google/Genius API
Go to file
iratusmachina f7bc845cf3 Adding TODOs 2024-04-24 12:28:49 -04:00
.woodpecker Adding a new flag 2024-04-19 17:23:37 -04:00
internal/cmdline fixing errcheck errors 2024-04-20 06:45:34 -04:00
.gitignore Refactoring draft notes generation 2024-04-20 07:21:36 -04:00
CHANGELOG.md Refactoring CHANGELOG generation process 2024-04-24 12:27:32 -04:00
LICENSE Adding LICENSE 2024-02-03 17:43:09 -05:00
Makefile Refactoring draft notes generation 2024-04-20 07:21:36 -04:00
README.md Adding TODOs 2024-04-24 12:28:49 -04:00
generate_notes.py Refactoring CHANGELOG generation process 2024-04-24 12:27:32 -04:00
go.mod Able to scrape lyrics from Google Search 2024-02-03 17:43:11 -05:00
go.sum Able to scrape lyrics from Google Search 2024-02-03 17:43:11 -05:00
main.go Adding LICENSE 2024-02-03 17:43:09 -05:00

README.md

Lyricdownloader

This program is used to download lyrics for a song from the internet. There are two modes of operation:

(a) Scraping from google: This does not run in headless mode as Google does not show the lyrics in headless mode. So the program has to first open a chrome window, searches for the lyrics, and copies the lyrics returned by Google Search to a file defined by you. (b) Retrieving the lyrics using the Genius API.

Caveats

This program requires chrome to use, that is, you should have chrome installed to use this program.

TODOs

  • Refactor internal folder to this structure. Simplify package structure.
internal
| - usegenius.go # where you go all the genius processing
| - usegoogle.go # where you do all the google processing
| - cmdline.go # Where you initialize config and use flags
  • Setup the config file in its own config.go file
  • Specific the doc for go doc in the doc.go file. To see the generated documentation, run go doc lyricdownloader
  • Research how to view go doc locally
  • Fix generate_notes.py to fix generation of CHANGELOG.md
  • Add a demo heading in README.md
  • Sync over to Github
  • Add podman/Docker instructions
  • Add goreleaser