Refactor to use ~/.config/r2mod-go
This commit is contained in:
parent
744a32f5a5
commit
0866620ab0
12
api/api.go
12
api/api.go
@ -47,16 +47,20 @@ type Version struct {
|
|||||||
|
|
||||||
// InitAPI stores the API in an object when needed.
|
// InitAPI stores the API in an object when needed.
|
||||||
func InitAPI() {
|
func InitAPI() {
|
||||||
|
if CheckAPICache() != 0 {
|
||||||
|
UpdateAPICache()
|
||||||
|
}
|
||||||
|
|
||||||
PkgList = UnpackAPI()
|
PkgList = UnpackAPI()
|
||||||
}
|
}
|
||||||
|
|
||||||
// CheckAPICache checks if the cached json is expired
|
// CheckAPICache checks if the cached json is expired
|
||||||
func CheckAPICache() int {
|
func CheckAPICache() int {
|
||||||
if !utils.PathExists(utils.SystemInfo.TmpDir + "/pkg.json") {
|
if !utils.PathExists(utils.SystemInfo.ProgDir + "/pkg.json") {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
info, err := os.Stat(utils.SystemInfo.TmpDir + "/pkg.json")
|
info, err := os.Stat(utils.SystemInfo.ProgDir + "/pkg.json")
|
||||||
utils.CheckErr(err)
|
utils.CheckErr(err)
|
||||||
|
|
||||||
lastModTime := info.ModTime()
|
lastModTime := info.ModTime()
|
||||||
@ -73,13 +77,13 @@ func CheckAPICache() int {
|
|||||||
func UpdateAPICache() {
|
func UpdateAPICache() {
|
||||||
apiURL := "https://thunderstore.io/api/v1/package/"
|
apiURL := "https://thunderstore.io/api/v1/package/"
|
||||||
|
|
||||||
err := utils.DownloadFile(utils.SystemInfo.TmpDir+"/pkg.json", apiURL)
|
err := utils.DownloadFile(utils.SystemInfo.ProgDir+"/pkg.json", apiURL)
|
||||||
utils.CheckErr(err)
|
utils.CheckErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnpackAPI stores the API cache as an object for later use.
|
// UnpackAPI stores the API cache as an object for later use.
|
||||||
func UnpackAPI() []Mod {
|
func UnpackAPI() []Mod {
|
||||||
pkgFile, err := os.Open(utils.SystemInfo.TmpDir + "/pkg.json")
|
pkgFile, err := os.Open(utils.SystemInfo.ProgDir + "/pkg.json")
|
||||||
utils.CheckErr(err)
|
utils.CheckErr(err)
|
||||||
|
|
||||||
defer pkgFile.Close()
|
defer pkgFile.Close()
|
||||||
|
2
main.go
2
main.go
@ -51,7 +51,7 @@ func removeMod(pkg string) {
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
logFile, err := os.OpenFile(utils.SystemInfo.TmpDir+"/r2mod-go.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
|
logFile, err := os.OpenFile(utils.SystemInfo.ProgDir+"/r2mod-go.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
|
||||||
utils.CheckErr(err)
|
utils.CheckErr(err)
|
||||||
|
|
||||||
defer logFile.Close()
|
defer logFile.Close()
|
||||||
|
@ -30,7 +30,7 @@ func DownloadMod(depString string) (int, string) {
|
|||||||
mod := api.GetModData(depString)
|
mod := api.GetModData(depString)
|
||||||
downloadURL := mod.Versions[0].DownloadURL
|
downloadURL := mod.Versions[0].DownloadURL
|
||||||
|
|
||||||
modName := sysinfo.TmpDir + "/dl/" + depString + ".zip"
|
modName := sysinfo.ProgDir + "/dl/" + depString + ".zip"
|
||||||
|
|
||||||
modVersion := mod.Versions[0].VersionNumber
|
modVersion := mod.Versions[0].VersionNumber
|
||||||
modFolder := sysinfo.PluginDir + "/" + depString + "-" + modVersion
|
modFolder := sysinfo.PluginDir + "/" + depString + "-" + modVersion
|
||||||
|
@ -25,7 +25,7 @@ type SysInfo struct {
|
|||||||
BepinDir string
|
BepinDir string
|
||||||
PluginDir string
|
PluginDir string
|
||||||
ConfigDir string
|
ConfigDir string
|
||||||
TmpDir string
|
ProgDir string
|
||||||
}
|
}
|
||||||
|
|
||||||
// CheckErr checks for an error, prints if it happened
|
// CheckErr checks for an error, prints if it happened
|
||||||
@ -81,28 +81,28 @@ func GetSysInfo() SysInfo {
|
|||||||
BepinDir: gameDir + "/BepInEx",
|
BepinDir: gameDir + "/BepInEx",
|
||||||
ConfigDir: gameDir + "/BepInEx/config",
|
ConfigDir: gameDir + "/BepInEx/config",
|
||||||
PluginDir: gameDir + "/BepInEx/plugins",
|
PluginDir: gameDir + "/BepInEx/plugins",
|
||||||
TmpDir: "/tmp/r2mod-go",
|
ProgDir: homeDir + "/.config/r2mod-go",
|
||||||
}
|
}
|
||||||
|
|
||||||
if !PathExists(SystemInfo.TmpDir) {
|
if !PathExists(SystemInfo.ProgDir) {
|
||||||
log.Println("temp directory does not exist; creating...")
|
log.Println("temp directory does not exist; creating...")
|
||||||
err := os.Mkdir(SystemInfo.TmpDir, 0755)
|
err := os.Mkdir(SystemInfo.ProgDir, 0755)
|
||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !PathExists(SystemInfo.TmpDir + "/dl") {
|
if !PathExists(SystemInfo.ProgDir + "/dl") {
|
||||||
log.Println("temp dl directory does not exist; creating...")
|
log.Println("temp dl directory does not exist; creating...")
|
||||||
err := os.Mkdir(SystemInfo.TmpDir+"/dl", 0755)
|
err := os.Mkdir(SystemInfo.ProgDir+"/dl", 0755)
|
||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup log file
|
// Setup log file
|
||||||
if PathExists(SystemInfo.TmpDir + "/r2mod-go.log") {
|
if PathExists(SystemInfo.ProgDir + "/r2mod-go.log") {
|
||||||
err := os.Remove(SystemInfo.TmpDir + "/r2mod-go.log")
|
err := os.Remove(SystemInfo.ProgDir + "/r2mod-go.log")
|
||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
logFile, err := os.OpenFile(SystemInfo.TmpDir+"/r2mod-go.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
|
logFile, err := os.OpenFile(SystemInfo.ProgDir+"/r2mod-go.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
|
||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
|
|
||||||
log.SetOutput(logFile)
|
log.SetOutput(logFile)
|
||||||
@ -113,7 +113,7 @@ func GetSysInfo() SysInfo {
|
|||||||
log.Println(" bepinDir:", SystemInfo.BepinDir)
|
log.Println(" bepinDir:", SystemInfo.BepinDir)
|
||||||
log.Println(" configDir:", SystemInfo.ConfigDir)
|
log.Println(" configDir:", SystemInfo.ConfigDir)
|
||||||
log.Println(" pluginDir:", SystemInfo.PluginDir)
|
log.Println(" pluginDir:", SystemInfo.PluginDir)
|
||||||
log.Println(" tmpDir:", SystemInfo.TmpDir)
|
log.Println(" ProgDir:", SystemInfo.ProgDir)
|
||||||
|
|
||||||
return SystemInfo
|
return SystemInfo
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user