From e84bc200865475b4a81b36aa757b29a80919a7fc Mon Sep 17 00:00:00 2001
From: Sebastiaan de Schaetzen <sebastiaan.de.schaetzen@gmail.com>
Date: Thu, 6 Feb 2025 17:07:57 +0100
Subject: [PATCH] First mvp ready

---
 database.go   |  9 ++++++++-
 downloader.go |  4 ++--
 main.go       | 10 +++++-----
 3 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/database.go b/database.go
index 17b7722..df974e8 100644
--- a/database.go
+++ b/database.go
@@ -6,6 +6,7 @@ import (
 	"fmt"
 	_ "github.com/mattn/go-sqlite3"
 	"log"
+	"os"
 	"strconv"
 	"strings"
 )
@@ -14,8 +15,14 @@ import (
 var embeddedMigrations embed.FS
 
 func openDatabase() *sql.DB {
+	// Get database directory
+	databaseSource := os.Getenv("VIVAPLUS_DATABASE")
+	if databaseSource == "" {
+		databaseSource = "videos.db3"
+	}
+
 	// Initialize the database connection
-	db, err := sql.Open("sqlite3", "videos.db3")
+	db, err := sql.Open("sqlite3", databaseSource)
 	if err != nil {
 		log.Fatalf("error opening database: %v", err)
 	}
diff --git a/downloader.go b/downloader.go
index 939c36e..6cf266c 100644
--- a/downloader.go
+++ b/downloader.go
@@ -16,7 +16,7 @@ import (
 
 func DownloadAllVideos(db *sql.DB) error {
 	// Ensure no partial videos exist
-	tempDir := os.Getenv("TMP_DOWNLOAD")
+	tempDir := os.Getenv("VIVAPLUS_DOWNLOAD")
 	if tempDir == "" {
 		tempDir = "./temp" // Replace with your desired default path
 	}
@@ -30,7 +30,7 @@ func DownloadAllVideos(db *sql.DB) error {
 	}
 
 	// Find the target directory
-	downloadDir := os.Getenv("DESTINATION")
+	downloadDir := os.Getenv("VIVAPLUS_DESTINATION")
 	if downloadDir == "" {
 		downloadDir = "./downloads"
 	}
diff --git a/main.go b/main.go
index 8b4ddbf..c667a20 100644
--- a/main.go
+++ b/main.go
@@ -37,12 +37,12 @@ func main() {
 		log.Fatalf("error decoding password: %v", err)
 	}
 
-	for {
-		err = w.Login(username, string(password))
-		if err != nil {
-			log.Fatalf("error login in: %v", err)
-		}
+	err = w.Login(username, string(password))
+	if err != nil {
+		log.Fatalf("error login in: %v", err)
+	}
 
+	for {
 		err = w.DiscoverAllVideos(db)
 		if err != nil {
 			panic(err)