From 3ab3bfee58efba4b31fe7381a6568326115e5a78 Mon Sep 17 00:00:00 2001 From: 1138-4EB <1138-4EB@users.noreply.github.com> Date: Wed, 9 Jan 2019 22:30:39 +0100 Subject: [PATCH] fix: allow to start filebrowser with an existing but empty DB --- cmd/root.go | 3 +++ cmd/utils.go | 16 +++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 0c71df09..7483148d 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -214,6 +214,9 @@ func setupLog(logMethod string) { } func quickSetup(flags *pflag.FlagSet, d pythonData) { + + log.Println("Executing quick setup...") + set := &settings.Settings{ Key: generateRandomBytes(64), // 256 bit Signup: false, diff --git a/cmd/utils.go b/cmd/utils.go index b52fcf5a..66d9abf0 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -67,7 +67,7 @@ func python(fn pythonFunc, cfg pythonConfig) cobraFunc { data := pythonData{hadDB: true} path := getParam(cmd.Flags(), "database") - _, err := os.Stat(path) + fd, err := os.Stat(path) if os.IsNotExist(err) { data.hadDB = false @@ -75,10 +75,16 @@ func python(fn pythonFunc, cfg pythonConfig) cobraFunc { if !cfg.noDB && !cfg.allowNoDB { log.Fatal(path + " does not exist. Please run 'filebrowser config init' first.") } - } else if err != nil { - panic(err) - } else if err == nil && cfg.noDB { - log.Fatal(path + " already exists") + } else if err == nil { + if cfg.noDB { + log.Fatal(path + " already exists") + } + if fd.Size() == 0 { + log.Println("Database file is empty") + data.hadDB = false + } + } else { + log.Fatal(err) } db, err := storm.Open(path)