cli #1
8
internal/cli/cache.go
Normal file
8
internal/cli/cache.go
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package cli
|
||||||
|
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
func Cache() error {
|
||||||
|
log.Println("running cache")
|
||||||
|
return nil
|
||||||
|
}
|
59
internal/cli/cli.go
Normal file
59
internal/cli/cli.go
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package cli
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ProgramFunction func() error
|
||||||
|
type Program struct {
|
||||||
|
Name string
|
||||||
|
Function ProgramFunction
|
||||||
|
Description string
|
||||||
|
}
|
||||||
|
|
||||||
|
var HelpHeader = `Meow
|
||||||
|
Ze
|
||||||
|
Dong`
|
||||||
|
var Programs = []Program{
|
||||||
|
{
|
||||||
|
Name: "help",
|
||||||
|
Function: Help,
|
||||||
|
Description: "get more information on how the cli or a program works",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "start",
|
||||||
|
Function: Start,
|
||||||
|
Description: "start the webserver",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "cache",
|
||||||
|
Function: Cache,
|
||||||
|
Description: "do something with the cache",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func Cli() {
|
||||||
|
fmt.Println("running transfem startpage")
|
||||||
|
|
||||||
|
programName := "help"
|
||||||
|
if len(os.Args) > 1 {
|
||||||
|
programName = os.Args[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("running program", programName)
|
||||||
|
|
||||||
|
var selectedProgram *Program = nil
|
||||||
|
for i, p := range Programs {
|
||||||
|
if p.Name == programName {
|
||||||
|
selectedProgram = &Programs[i]
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if selectedProgram == nil {
|
||||||
|
log.Panicln("couldn't find program", programName, ". EXITING")
|
||||||
|
}
|
||||||
|
|
||||||
|
selectedProgram.Function()
|
||||||
|
}
|
8
internal/cli/help.go
Normal file
8
internal/cli/help.go
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package cli
|
||||||
|
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
func Help() error {
|
||||||
|
log.Println("running help")
|
||||||
|
return nil
|
||||||
|
}
|
8
internal/cli/start.go
Normal file
8
internal/cli/start.go
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package cli
|
||||||
|
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
func Start() error {
|
||||||
|
log.Println("starting server")
|
||||||
|
return nil
|
||||||
|
}
|
7
main.go
7
main.go
@ -11,6 +11,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"gitea.elara.ws/Hazel/transfem-startpage/internal/cli"
|
||||||
"gitea.elara.ws/Hazel/transfem-startpage/internal/diyhrt"
|
"gitea.elara.ws/Hazel/transfem-startpage/internal/diyhrt"
|
||||||
"gitea.elara.ws/Hazel/transfem-startpage/internal/rendering"
|
"gitea.elara.ws/Hazel/transfem-startpage/internal/rendering"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
@ -60,7 +61,7 @@ func getFileSystem() http.FileSystem {
|
|||||||
return http.FS(fsys)
|
return http.FS(fsys)
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func backMain() {
|
||||||
profile := "default"
|
profile := "default"
|
||||||
if len(os.Args) > 1 {
|
if len(os.Args) > 1 {
|
||||||
profile = os.Args[1]
|
profile = os.Args[1]
|
||||||
@ -100,3 +101,7 @@ func main() {
|
|||||||
|
|
||||||
e.Logger.Fatal(e.Start(":" + strconv.Itoa(CurrentConfig.Server.Port)))
|
e.Logger.Fatal(e.Start(":" + strconv.Itoa(CurrentConfig.Server.Port)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
cli.Cli()
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user