This commit is contained in:
Liang Ding 2023-05-05 23:54:24 +08:00
parent 99c01fc931
commit e3fbe9bae5
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
3 changed files with 20 additions and 6 deletions

View file

@ -34,6 +34,7 @@ import (
type Plugin struct {
*Package
Enabled bool `json:"enabled"`
}
func Plugins() (plugins []*Plugin) {

View file

@ -51,6 +51,15 @@ func BazaarPlugins() (plugins []*bazaar.Plugin) {
func InstalledPlugins() (plugins []*bazaar.Plugin) {
plugins = bazaar.InstalledPlugins()
petals := getPetals()
for _, plugin := range plugins {
petal := getPetalByName(plugin.Name, petals)
if nil != petal {
plugin.Enabled = petal.Enabled
break
}
}
return
}

View file

@ -68,7 +68,7 @@ func SetPetalEnabled(name string, enabled bool) {
return
}
petal := getPetalByID(hash(plugin.Name), petals)
petal := getPetalByName(plugin.Name, petals)
if nil == petal {
petal = &Petal{
ID: hash(plugin.Name),
@ -90,7 +90,7 @@ func SetPetalEnabled(name string, enabled bool) {
}
}
func LoadPetals() (ret []*Petal) {
func getPetals() (ret []*Petal) {
ret = []*Petal{}
petalDir := filepath.Join(util.DataDir, "storage", "petal")
@ -123,11 +123,15 @@ func LoadPetals() (ret []*Petal) {
logging.LogErrorf("unmarshal petals failed: %s", err)
return
}
return
}
func LoadPetals() (ret []*Petal) {
ret = getPetals()
plugins := bazaar.InstalledPlugins()
for _, plugin := range plugins {
id := hash(plugin.Name)
petal := getPetalByID(id, ret)
petal := getPetalByName(plugin.Name, ret)
if nil == petal {
continue
}
@ -168,9 +172,9 @@ func LoadPetals() (ret []*Petal) {
return
}
func getPetalByID(id string, petals []*Petal) (ret *Petal) {
func getPetalByName(name string, petals []*Petal) (ret *Petal) {
for _, p := range petals {
if id == p.ID {
if name == p.Name {
ret = p
break
}