Add --sections flag to app.go and pass it to setup.go
Add --sections flag to app.go according to T657, parse them into a string array (check for invalid arguments and abort) and pass them to Configure(). For now Configure() doesn't do anything with them yet.
This commit is contained in:
parent
9570388d1d
commit
1d5c396327
16
app.go
16
app.go
|
@ -198,6 +198,9 @@ func Serve() {
|
|||
// Setup actions
|
||||
createConfig := flag.Bool("create-config", false, "Creates a basic configuration and exits")
|
||||
doConfig := flag.Bool("config", false, "Run the configuration process")
|
||||
configSections := flag.String("sections", "server db app", "Which sections of the configuration to go through (requires --config), " +
|
||||
"valid values are any combination of 'server', 'db' and 'app' " +
|
||||
"example: writefreely --config --sections \"db app\"")
|
||||
genKeys := flag.Bool("gen-keys", false, "Generate encryption and authentication keys")
|
||||
createSchema := flag.Bool("init-db", false, "Initialize app database")
|
||||
migrate := flag.Bool("migrate", false, "Migrate the database")
|
||||
|
@ -229,7 +232,18 @@ func Serve() {
|
|||
}
|
||||
os.Exit(0)
|
||||
} else if *doConfig {
|
||||
d, err := config.Configure(app.cfgFile)
|
||||
if *configSections == "" {
|
||||
*configSections = "server db app"
|
||||
}
|
||||
configSectionsArray := strings.Split(*configSections, " ")
|
||||
|
||||
// let's check there aren't any garbage in the list
|
||||
for _, element := range configSectionsArray {
|
||||
if element != "server" && element != "db" && element != "app" {
|
||||
log.Error("Invalid argument to --sections. Valid arguments are only \"server\", \"db\" and \"app\"")
|
||||
}
|
||||
}
|
||||
d, err := config.Configure(app.cfgFile, configSectionsArray)
|
||||
if err != nil {
|
||||
log.Error("Unable to configure: %v", err)
|
||||
os.Exit(1)
|
||||
|
|
|
@ -24,7 +24,7 @@ type SetupData struct {
|
|||
Config *Config
|
||||
}
|
||||
|
||||
func Configure(fname string) (*SetupData, error) {
|
||||
func Configure(fname string, configSections []string) (*SetupData, error) {
|
||||
data := &SetupData{}
|
||||
var err error
|
||||
if fname == "" {
|
||||
|
|
Loading…
Reference in New Issue