Skip to content
This repository has been archived by the owner on Mar 6, 2024. It is now read-only.

Commit

Permalink
Use .ente-cli as config file path
Browse files Browse the repository at this point in the history
  • Loading branch information
ua741 committed Oct 25, 2023
1 parent 104bdfb commit 405d70b
Showing 1 changed file with 33 additions and 2 deletions.
35 changes: 33 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,25 @@ import (
"github.com/ente-io/cli/pkg/secrets"
"github.com/ente-io/cli/utils/constants"
"log"
"os"
"path/filepath"
"strings"
)

func main() {
cliDBPath := ""
cliDBPath, err := GetCLIConfigPath()
if err != nil {
log.Fatalf("Could not create cli config path\n%v\n", err)
}
db, err := pkg.GetDB(fmt.Sprintf("%sente-cli.db", cliDBPath))
if secrets.IsRunningInContainer() {
cliDBPath = constants.CliDataPath
_, err := internal.ValidateDirForWrite(cliDBPath)
if err != nil {
log.Fatalf("Please mount a volume to %s to persist cli data\n%v\n", cliDBPath, err)
}
}
db, err := pkg.GetDB(fmt.Sprintf("%sente-cli.db", cliDBPath))

if err != nil {
if strings.Contains(err.Error(), "timeout") {
log.Fatalf("Please close all other instances of the cli and try again\n%v\n", err)
Expand All @@ -48,3 +54,28 @@ func main() {
}()
cmd.Execute(&ctrl)
}

// GetCLIConfigPath returns the path to the .ente-cli folder and creates it if it doesn't exist.
func GetCLIConfigPath() (string, error) {
if os.Getenv("ENTE_CLI_CONFIG_PATH") != "" {
return os.Getenv("ENTE_CLI_CONFIG_PATH"), nil
}
// Get the user's home directory
homeDir, err := os.UserHomeDir()
if err != nil {
return "", err
}

// Create the path for the .ente-cli folder
cliDBPath := filepath.Join(homeDir, ".ente-cli")

// Check if the folder already exists, if not, create it
if _, err := os.Stat(cliDBPath); os.IsNotExist(err) {
err := os.MkdirAll(cliDBPath, 0755)
if err != nil {
return "", err
}
}

return cliDBPath, nil
}

0 comments on commit 405d70b

Please sign in to comment.