/
info.go
51 lines (43 loc) · 1 KB
/
info.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package mod
import (
"github.com/CCDirectLink/ccmu/internal/moddb"
"github.com/CCDirectLink/ccmu/pkg"
)
//Info about the mod.
func (m Mod) Info() (pkg.Info, error) {
if !m.Installed() && m.Source == "" {
if !m.Available() {
return pkg.Info{
Name: m.Name,
NiceName: m.Name,
}, pkg.ErrNotFound
}
return moddb.PkgInfo(m.Name)
}
info := m.localInfo()
var err error
if m.Available() && m.Source == "" {
err = moddb.MergePkgInfo(&info)
}
if m.Source != "" {
data, _ := readPackageFromSource(m.Source)
info.Name = data.Name
info.NiceName = data.Name
info.Description = data.Description
info.Licence = data.Licence
info.NewestVersion = data.Version
info.Hidden = data.Hidden
}
return info, err
}
func (m Mod) localInfo() pkg.Info {
data, _ := m.readPackageFile()
return pkg.Info{
Name: m.Name,
NiceName: data.Name,
Description: data.Description,
Licence: data.Licence,
CurrentVersion: data.Version,
Hidden: data.Hidden,
}
}