mirror of
https://github.com/celogeek/piwigo-cli.git
synced 2025-05-25 02:02:37 +02:00
fix load config
This commit is contained in:
parent
b902080534
commit
f38ffe5ac8
14
helper.go
Normal file
14
helper.go
Normal file
@ -0,0 +1,14 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func dumpResponse(v interface{}) (err error) {
|
||||
b, err := json.MarshalIndent(v, "", " ")
|
||||
if err == nil {
|
||||
fmt.Println(string(b))
|
||||
}
|
||||
return
|
||||
}
|
@ -2,14 +2,15 @@ package piwigo
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"errors"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func (p *Piwigo) ConfigPath() (configPath string, err error) {
|
||||
configDir, err := os.UserConfigDir()
|
||||
if err == nil {
|
||||
configPath = fmt.Sprintf("%s/piwigo-cli", configDir)
|
||||
configPath = strings.Join([]string{configDir, "piwigo-cli"}, "/")
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -30,7 +31,7 @@ func (p *Piwigo) SaveConfig() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
configFile := fmt.Sprintf("%s/config.json", configPath)
|
||||
configFile := strings.Join([]string{configPath, "config.json"}, "/")
|
||||
|
||||
b, err := json.MarshalIndent(p, "", " ")
|
||||
if err != nil {
|
||||
@ -47,14 +48,19 @@ func (p *Piwigo) LoadConfig() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
configFile := fmt.Sprintf("%s/config.json", configPath)
|
||||
configFile := strings.Join([]string{configPath, "config.json"}, "/")
|
||||
b, err := os.ReadFile(configFile)
|
||||
if os.IsNotExist(err) {
|
||||
err = nil
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
err = errors.New("missing configuration file")
|
||||
}
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
err = json.Unmarshal(b, p)
|
||||
|
||||
err = json.Unmarshal(b, &p)
|
||||
if p.Url == "" || p.Token == "" {
|
||||
err = errors.New("missing configuration url or token")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
15
session.go
15
session.go
@ -50,6 +50,21 @@ func (c *LoginCommand) Execute(args []string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *StatusCommand) Execute(args []string) error {
|
||||
fmt.Println("Status:")
|
||||
|
||||
Piwigo := piwigo.Piwigo{}
|
||||
if err := Piwigo.LoadConfig(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var resp map[string]interface{}
|
||||
Piwigo.Post("pwg.session.getStatus", &url.Values{}, &resp)
|
||||
dumpResponse(resp)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
parser.AddCommand("session", "Session management", "", &sessionGroup)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user