piwigo-cli/login.go
2021-12-13 09:32:43 +01:00

46 lines
917 B
Go

package main
import (
"fmt"
"net/url"
"github.com/celogeek/piwigo-cli/internal/piwigo"
)
type LoginCommand struct {
Url string `short:"u" long:"url" description:"Url of the instance"`
Login string `short:"l" long:"login" description:"Login"`
Password string `short:"p" long:"password" description:"Password"`
}
var loginCommand LoginCommand
func (c *LoginCommand) Execute(args []string) error {
fmt.Printf("Login on %s...\n", c.Url)
Piwigo := piwigo.Piwigo{
Url: c.Url,
Method: "pwg.session.login",
}
result := false
if Err := Piwigo.Post(&url.Values{
"username": []string{c.Login},
"password": []string{c.Password},
}, &result); Err != nil {
return Err
}
fmt.Printf("Token: %s\n", Piwigo.Token)
return nil
}
func init() {
parser.AddCommand("login",
"Initialize a connection to a piwigo instance",
"Initialize a connection to a piwigo instance",
&loginCommand)
}