mirror of
https://github.com/riwiwa/muzi.git
synced 2026-02-28 11:56:57 -08:00
84 lines
1.6 KiB
Go
84 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"muzi/importsongs"
|
|
"muzi/web"
|
|
)
|
|
|
|
func dbCheck() error {
|
|
if !importsongs.DbExists() {
|
|
err := importsongs.CreateDB()
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error creating muzi DB: %v\n", err)
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func dirCheck(path string) error {
|
|
_, err := os.Stat(path)
|
|
if err != nil {
|
|
if errors.Is(err, os.ErrNotExist) {
|
|
os.MkdirAll(path, os.ModePerm)
|
|
} else {
|
|
fmt.Fprintf(os.Stderr, "Error checking dir: %s: %v\n", path, err)
|
|
return err
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func main() {
|
|
dirImports := filepath.Join(".", "imports")
|
|
|
|
dirSpotify := filepath.Join(".", "imports", "spotify")
|
|
dirSpotifyZip := filepath.Join(".", "imports", "spotify", "zip")
|
|
dirSpotifyExt := filepath.Join(".", "imports", "spotify", "extracted")
|
|
|
|
fmt.Printf("Checking if directory %s exists...\n", dirImports)
|
|
err := dirCheck(dirImports)
|
|
if err != nil {
|
|
return
|
|
}
|
|
fmt.Printf("Checking if directory %s exists...\n", dirSpotify)
|
|
err = dirCheck(dirSpotify)
|
|
if err != nil {
|
|
return
|
|
}
|
|
fmt.Printf("Checking if directory %s exists...\n", dirSpotifyZip)
|
|
err = dirCheck(dirSpotifyZip)
|
|
if err != nil {
|
|
return
|
|
}
|
|
fmt.Printf("Checking if directory %s exists...\n", dirSpotifyExt)
|
|
err = dirCheck(dirSpotifyExt)
|
|
if err != nil {
|
|
return
|
|
}
|
|
fmt.Println("Checking if muzi database exists...")
|
|
err = dbCheck()
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
username := ""
|
|
apiKey := ""
|
|
fmt.Printf("Importing LastFM data for %s", username)
|
|
err = importsongs.ImportLastFM(username, apiKey)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = importsongs.ImportSpotify()
|
|
if err != nil {
|
|
return
|
|
}
|
|
web.Start()
|
|
}
|