mirror of https://github.com/fmartingr/shiori.git
Add path generator
This commit is contained in:
parent
6eb8c749a5
commit
106266e87d
1
go.mod
1
go.mod
|
@ -15,6 +15,7 @@ require (
|
|||
github.com/mattn/go-colorable v0.1.1 // indirect
|
||||
github.com/mattn/go-isatty v0.0.7 // indirect
|
||||
github.com/mattn/go-sqlite3 v1.10.0
|
||||
github.com/muesli/go-app-paths v0.0.0-20181030220709-913f7f7ac60f
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||
github.com/shurcooL/httpfs v0.0.0-20181222201310-74dc9339e414 // indirect
|
||||
github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd
|
||||
|
|
3
go.sum
3
go.sum
|
@ -50,8 +50,11 @@ github.com/mattn/go-sqlite3 v1.9.0 h1:pDRiWfl+++eC2FEFRy6jXmQlvp4Yh3z1MJKg4UeYM/
|
|||
github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mattn/go-sqlite3 v1.10.0 h1:jbhqpg7tQe4SupckyijYiy0mJJ/pRyHvXf7JdWK860o=
|
||||
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/muesli/go-app-paths v0.0.0-20181030220709-913f7f7ac60f h1:qC86+y8MoTDwlkAeS4p8fuo9nzKtZV/Gg9Nbqeu1+LM=
|
||||
github.com/muesli/go-app-paths v0.0.0-20181030220709-913f7f7ac60f/go.mod h1:YIG7FlQLGglsbGA+CX6/boYl9aNdoQXfx+ZtACJCMug=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
|
||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
// +build !dev
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
apppaths "github.com/muesli/go-app-paths"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// Get data directory
|
||||
dataDir = getDataDirectory()
|
||||
|
||||
// Make sure directory exist
|
||||
os.MkdirAll(dataDir, os.ModePerm)
|
||||
}
|
||||
|
||||
func getDataDirectory() string {
|
||||
// Try to look at environment variables
|
||||
dataDir, found := os.LookupEnv("ENV_SHIORI_DIR")
|
||||
if found {
|
||||
return dataDir
|
||||
}
|
||||
|
||||
// Try to use platform specific app path
|
||||
userScope := apppaths.NewScope(apppaths.User, "shiori", "shiori")
|
||||
dataDir, err := userScope.DataDir()
|
||||
if err == nil {
|
||||
return dataDir
|
||||
}
|
||||
|
||||
// When all fail, use current working directory
|
||||
return "."
|
||||
}
|
Loading…
Reference in New Issue