forked from MartialBE/one-hub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
flag.go
65 lines (52 loc) · 1.37 KB
/
flag.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package cli
import (
"flag"
"fmt"
"one-api/common/config"
"one-api/common/utils"
"os"
"github.com/spf13/viper"
)
var (
port = flag.Int("port", 0, "the listening port")
printVersion = flag.Bool("version", false, "print version and exit")
printHelp = flag.Bool("help", false, "print help and exit")
logDir = flag.String("log-dir", "", "specify the log directory")
Config = flag.String("config", "config.yaml", "specify the config.yaml path")
export = flag.Bool("export", false, "Exports prices to a JSON file.")
)
func InitCli() {
flag.Parse()
if *printVersion {
fmt.Println(config.Version)
os.Exit(0)
}
if *printHelp {
help()
os.Exit(0)
}
if *port != 0 {
viper.Set("port", *port)
}
if *logDir != "" {
viper.Set("log_dir", *logDir)
}
if *export {
ExportPrices()
os.Exit(0)
}
if !utils.IsFileExist(*Config) {
return
}
viper.SetConfigFile(*Config)
if err := viper.ReadInConfig(); err != nil {
panic(err)
}
}
func help() {
fmt.Println("One Hub " + config.Version + " - All in one Hub service for OpenAI API.")
fmt.Println("Copyright (C) 2024 MartialBE. All rights reserved.")
fmt.Println("Original copyright holder: JustSong")
fmt.Println("GitHub: https://github.com/MartialBE/one-hub")
fmt.Println("Usage: one-api [--port <port>] [--log-dir <log directory>] [--config <config.yaml path>] [--version] [--help]")
}