init bin
This commit is contained in:
58
src/versionOc/versionOc.go
Normal file
58
src/versionOc/versionOc.go
Normal file
@@ -0,0 +1,58 @@
|
||||
// Package :
|
||||
package versionOc
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"errors"
|
||||
"io/ioutil"
|
||||
"gopkg.in/yaml.v2"
|
||||
log "oc-deploy/log_wrapper"
|
||||
)
|
||||
|
||||
type versionInput struct {
|
||||
Version string `yaml:"version"`
|
||||
}
|
||||
|
||||
// Get : Retourne la version
|
||||
func Get(version string) (string, error) {
|
||||
|
||||
version2 := version
|
||||
if version == "latest" {
|
||||
versionLatest, err := readLatestFile()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
version2 = versionLatest
|
||||
}
|
||||
|
||||
src := fmt.Sprintf("../offline/oc_%s.yml", version2)
|
||||
if _, err := os.Stat(src); err != nil {
|
||||
log.Log().Debug().Msg(err.Error())
|
||||
return "", errors.New("Version non disponible")
|
||||
}
|
||||
|
||||
return version2, nil
|
||||
}
|
||||
|
||||
// readLatestFile : Lit le numéro de la version dans le fichier lastest.yml
|
||||
func readLatestFile() (string, error) {
|
||||
src := "../offline/latest.yml"
|
||||
|
||||
fin, err := os.Open(src)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer fin.Close()
|
||||
|
||||
byteValue, err := ioutil.ReadAll(fin)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
var objmap versionInput
|
||||
|
||||
yaml.Unmarshal(byteValue, &objmap)
|
||||
|
||||
return objmap.Version, nil
|
||||
}
|
Reference in New Issue
Block a user