init conf

This commit is contained in:
decentral1se 2022-04-21 14:33:24 +02:00
parent e170e5a62e
commit 1e69f37777
Signed by: decentral1se
GPG Key ID: 03789458B3D0C410
1 changed files with 68 additions and 1 deletions

View File

@ -1,9 +1,76 @@
package main
import (
"flag"
"fmt"
"log"
"os"
"os/user"
"path/filepath"
)
const help = `unnamed-project: WIP
Options:
-n node identifier (default: your system username)
-p path to share files (default: current working directory)
-w port for web server (default: 1312)
-s port for file server (default: 5555)
-d debug logging
-h output help
`
var nodeIDFlag string
var pathFlag string
var webPortFlag int
var filePortFlag int
var debugFlag bool
var helpFlag bool
func main() {
fmt.Println("Hello, World!")
systemUser, err := user.Current()
if err != nil {
log.Fatalln(err)
}
cwdAbsPath, err := filepath.Abs(".")
if err != nil {
log.Fatalln(err)
}
handleCliFlags(systemUser.Name, cwdAbsPath)
if helpFlag {
fmt.Printf(help)
os.Exit(0)
}
conf := &config{
nodeID: nodeIDFlag,
webPort: webPortFlag,
filePort: filePortFlag,
sharePath: pathFlag,
debug: debugFlag,
}
fmt.Println(conf)
}
func handleCliFlags(username, sharePath string) {
flag.StringVar(&nodeIDFlag, "n", username, "node identifier")
flag.StringVar(&pathFlag, "p", sharePath, "path to share files")
flag.IntVar(&webPortFlag, "w", 1312, "port for web server")
flag.IntVar(&filePortFlag, "s", 5555, "port for file server")
flag.BoolVar(&debugFlag, "d", false, "debug logging")
flag.BoolVar(&helpFlag, "h", false, "output help")
flag.Parse()
}
type config struct {
nodeID string
webPort int
filePort int
sharePath string
debug bool
}