fix: configuration pkg

This commit is contained in:
2019-02-17 18:23:59 +01:00
parent 60fa83244e
commit c437127531
18 changed files with 596 additions and 420 deletions

View File

@ -1,158 +1,157 @@
package remote
import (
"fmt"
"io"
"text/tabwriter"
// import (
// "fmt"
// "io"
// "text/tabwriter"
"git.cryptic.systems/fh-trier/go-flucky/pkg/config"
"git.cryptic.systems/fh-trier/go-flucky/pkg/types"
)
// "git.cryptic.systems/fh-trier/go-flucky/pkg/config"
// )
func Add(remote *types.Remote, configDir string) error {
// func Add(remote *types.Remote, configDir string) error {
configuration, err := config.Read(configDir)
if err != nil {
return err
}
// configuration, err := config.Read(configDir)
// if err != nil {
// return err
// }
// search after duplicate remote_names
for _, r := range configuration.Remotes {
if r.Name == remote.Name {
return fmt.Errorf("Remote-Name %v already exists", remote.Name)
}
}
// // search after duplicate remote_names
// for _, r := range configuration.Remotes {
// if r.Name == remote.Name {
// return fmt.Errorf("Remote-Name %v already exists", remote.Name)
// }
// }
configuration.Remotes = append(configuration.Remotes, remote)
// configuration.Remotes = append(configuration.Remotes, remote)
if err := config.Write(configuration, configDir); err != nil {
return err
}
// if err := config.Write(configuration, configDir); err != nil {
// return err
// }
return nil
}
// return nil
// }
// Enable a remote link
func Enable(remoteName string, configDir string) error {
// // Enable a remote link
// func Enable(remoteName string, configDir string) error {
cnf, err := config.Read(configDir)
if err != nil {
return err
}
// cnf, err := config.Read(configDir)
// if err != nil {
// return err
// }
// search after duplicate remote_names
var found bool
for _, r := range cnf.Remotes {
if r.Name == remoteName {
r.Enabled = true
found = true
}
}
// // search after duplicate remote_names
// var found bool
// for _, r := range cnf.Remotes {
// if r.Name == remoteName {
// r.Enabled = true
// found = true
// }
// }
if !found {
return fmt.Errorf("Can not find remote %v", remoteName)
}
// if !found {
// return fmt.Errorf("Can not find remote %v", remoteName)
// }
if err := config.Write(cnf, configDir); err != nil {
return err
}
// if err := config.Write(cnf, configDir); err != nil {
// return err
// }
return nil
}
// return nil
// }
// Disable a remote link
func Disable(remoteName string, configDir string) error {
// // Disable a remote link
// func Disable(remoteName string, configDir string) error {
cnf, err := config.Read(configDir)
if err != nil {
return err
}
// cnf, err := config.Read(configDir)
// if err != nil {
// return err
// }
// search after duplicate remote_names
var found bool
for _, r := range cnf.Remotes {
if r.Name == remoteName {
r.Enabled = false
found = true
}
}
// // search after duplicate remote_names
// var found bool
// for _, r := range cnf.Remotes {
// if r.Name == remoteName {
// r.Enabled = false
// found = true
// }
// }
if !found {
return fmt.Errorf("Can not find remote %v", remoteName)
}
// if !found {
// return fmt.Errorf("Can not find remote %v", remoteName)
// }
if err := config.Write(cnf, configDir); err != nil {
return err
}
// if err := config.Write(cnf, configDir); err != nil {
// return err
// }
return nil
}
// return nil
// }
func Print(w io.Writer, configDir string, quiet bool) error {
// func Print(w io.Writer, configDir string, quiet bool) error {
configuration, err := config.Read(configDir)
if err != nil {
return err
}
// configuration, err := config.Read(configDir)
// if err != nil {
// return err
// }
tw := tabwriter.NewWriter(w, 0, 0, 3, ' ', 0)
// tw := tabwriter.NewWriter(w, 0, 0, 3, ' ', 0)
if !quiet {
fmt.Fprint(tw, "name\taddress\tenabled\tregistered\n")
}
// if !quiet {
// fmt.Fprint(tw, "name\taddress\tenabled\tregistered\n")
// }
for _, remote := range configuration.Remotes {
if quiet {
fmt.Fprintf(tw, "%v\n", remote.Name)
} else {
fmt.Fprintf(tw, "%v\t%v\t%v\t%v\n", remote.Name, remote.Address, remote.Enabled, remote.Registered)
}
}
// for _, remote := range configuration.Remotes {
// if quiet {
// fmt.Fprintf(tw, "%v\n", remote.Name)
// } else {
// fmt.Fprintf(tw, "%v\t%v\t%v\t%v\n", remote.Name, remote.Address, remote.Enabled, remote.Registered)
// }
// }
tw.Flush()
// tw.Flush()
return nil
}
// return nil
// }
func Remove(name string, configDir string) error {
// func Remove(name string, configDir string) error {
con, err := config.Read(configDir)
if err != nil {
return err
}
// con, err := config.Read(configDir)
// if err != nil {
// return err
// }
var j int
for _, remote := range con.Remotes {
if remote.Name == name {
con.Remotes = append(con.Remotes[:j], con.Remotes[j+1:]...)
// var j int
// for _, remote := range con.Remotes {
// if remote.Name == name {
// con.Remotes = append(con.Remotes[:j], con.Remotes[j+1:]...)
if j > 0 {
j = j - 1
}
continue
}
j++
}
// if j > 0 {
// j = j - 1
// }
// continue
// }
// j++
// }
if err := config.Write(con, configDir); err != nil {
return err
}
// if err := config.Write(con, configDir); err != nil {
// return err
// }
return nil
}
// return nil
// }
func RemoveAll(configDir string) error {
// func RemoveAll(configDir string) error {
con, err := config.Read(configDir)
if err != nil {
return err
}
// con, err := config.Read(configDir)
// if err != nil {
// return err
// }
con.Remotes = nil
// con.Remotes = nil
if err := config.Write(con, configDir); err != nil {
return err
}
// if err := config.Write(con, configDir); err != nil {
// return err
// }
return nil
}
// return nil
// }