mirror of
https://github.com/riwiwa/muzi.git
synced 2026-02-28 11:56:57 -08:00
added webui lastfm importing, account sessions, partial codebase cleanup
This commit is contained in:
85
main.go
85
main.go
@@ -8,23 +8,11 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"muzi/db"
|
||||
"muzi/migrate"
|
||||
"muzi/web"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
)
|
||||
|
||||
func dbCheck() error {
|
||||
if !db.DbExists() {
|
||||
err := db.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 {
|
||||
@@ -35,45 +23,28 @@ func dirCheck(path string) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func main() {
|
||||
dirImports := filepath.Join(".", "imports")
|
||||
zipDir := filepath.Join(".", "imports", "spotify", "zip")
|
||||
extDir := filepath.Join(".", "imports", "spotify", "extracted")
|
||||
|
||||
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
|
||||
dirs := []string{zipDir, extDir}
|
||||
for _, dir := range dirs {
|
||||
err := dirCheck(dir)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error checking dir: %s: %v\n", dir, err)
|
||||
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()
|
||||
err := db.CreateDB()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error ensuring muzi DB exists: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("Setting up database tables...")
|
||||
conn, err := pgx.Connect(
|
||||
db.Pool, err = pgxpool.New(
|
||||
context.Background(),
|
||||
"postgres://postgres:postgres@localhost:5432/muzi",
|
||||
)
|
||||
@@ -81,33 +52,25 @@ func main() {
|
||||
fmt.Fprintf(os.Stderr, "Cannot connect to muzi database: %v\n", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close(context.Background())
|
||||
defer db.Pool.Close()
|
||||
|
||||
err = db.CreateHistoryTable(conn)
|
||||
err = db.CreateAllTables()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error creating history table: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "Error ensuring all tables exist: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
err = db.CreateUsersTable(conn)
|
||||
err = db.CleanupExpiredSessions()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error creating users table: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "Error cleaning expired sessions: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
username := ""
|
||||
apiKey := ""
|
||||
fmt.Printf("Importing LastFM data for %s\n", username)
|
||||
// TODO:
|
||||
// remove hardcoded userID by creating webUI import pages and getting
|
||||
// userID from login session
|
||||
err = migrate.ImportLastFM(username, apiKey, 1)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = migrate.ImportSpotify(1)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
/*
|
||||
err = migrate.ImportSpotify(1)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
*/
|
||||
web.Start()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user