mirror of
https://github.com/packwiz/packwiz.git
synced 2025-04-19 21:16:30 +02:00
Fix paths in index querying
This commit is contained in:
parent
5c82486016
commit
7880488bf1
@ -276,9 +276,21 @@ func (in Index) FindMod(modName string) (string, bool) {
|
|||||||
_, file := filepath.Split(v.File)
|
_, file := filepath.Split(v.File)
|
||||||
fileTrimmed := strings.TrimSuffix(file, ModExtension)
|
fileTrimmed := strings.TrimSuffix(file, ModExtension)
|
||||||
if fileTrimmed == modName {
|
if fileTrimmed == modName {
|
||||||
return v.File, true
|
return filepath.Join(filepath.Dir(in.indexFile), filepath.FromSlash(v.File)), true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "", false
|
return "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAllMods finds paths to every metadata file (Mod) in the index
|
||||||
|
func (in Index) GetAllMods() []string {
|
||||||
|
var list []string
|
||||||
|
baseDir := filepath.Dir(in.indexFile)
|
||||||
|
for _, v := range in.Files {
|
||||||
|
if v.MetaFile {
|
||||||
|
list = append(list, filepath.Join(baseDir, filepath.FromSlash(v.File)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
41
main.go
41
main.go
@ -147,31 +147,28 @@ func cmdUpdate(flags core.Flags, mod string) error {
|
|||||||
|
|
||||||
updaterMap := make(map[string][]core.Mod)
|
updaterMap := make(map[string][]core.Mod)
|
||||||
fmt.Println("Reading mod files...")
|
fmt.Println("Reading mod files...")
|
||||||
for _, v := range index.Files {
|
for _, v := range index.GetAllMods() {
|
||||||
if v.MetaFile {
|
modData, err := core.LoadMod(v)
|
||||||
// TODO: check fromslash stuff aaa
|
if err != nil {
|
||||||
modData, err := core.LoadMod(v.File)
|
fmt.Printf("Error reading mod file: %s", err.Error())
|
||||||
if err != nil {
|
continue
|
||||||
fmt.Printf("Error reading mod file: %s", err.Error())
|
}
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
updaterFound := false
|
updaterFound := false
|
||||||
for k := range modData.Update {
|
for k := range modData.Update {
|
||||||
slice, ok := updaterMap[k]
|
slice, ok := updaterMap[k]
|
||||||
|
if !ok {
|
||||||
|
_, ok = core.Updaters[k]
|
||||||
if !ok {
|
if !ok {
|
||||||
_, ok = core.Updaters[k]
|
continue
|
||||||
if !ok {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
slice = []core.Mod{}
|
|
||||||
}
|
}
|
||||||
updaterFound = true
|
slice = []core.Mod{}
|
||||||
updaterMap[k] = append(slice, modData)
|
|
||||||
}
|
|
||||||
if !updaterFound {
|
|
||||||
fmt.Printf("A supported update system for \"%s\" cannot be found.", modData.Name)
|
|
||||||
}
|
}
|
||||||
|
updaterFound = true
|
||||||
|
updaterMap[k] = append(slice, modData)
|
||||||
|
}
|
||||||
|
if !updaterFound {
|
||||||
|
fmt.Printf("A supported update system for \"%s\" cannot be found.", modData.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,7 +291,7 @@ func cmdUpdate(flags core.Flags, mod string) error {
|
|||||||
}
|
}
|
||||||
if !updaterFound {
|
if !updaterFound {
|
||||||
// TODO: use file name instead of Name when len(Name) == 0 in all places?
|
// TODO: use file name instead of Name when len(Name) == 0 in all places?
|
||||||
return cli.NewExitError("A supported update system for \""+ modData.Name +"\" cannot be found.", 1)
|
return cli.NewExitError("A supported update system for \""+modData.Name+"\" cannot be found.", 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user