mirror of
https://github.com/writefreely/writefreely
synced 2024-11-10 19:34:19 +00:00
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
2 changed files with 16 additions and 2 deletions
16
app.go
16
app.go
|
@ -198,6 +198,9 @@ func Serve() {
|
||||||
// Setup actions
|
// Setup actions
|
||||||
createConfig := flag.Bool("create-config", false, "Creates a basic configuration and exits")
|
createConfig := flag.Bool("create-config", false, "Creates a basic configuration and exits")
|
||||||
doConfig := flag.Bool("config", false, "Run the configuration process")
|
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")
|
genKeys := flag.Bool("gen-keys", false, "Generate encryption and authentication keys")
|
||||||
createSchema := flag.Bool("init-db", false, "Initialize app database")
|
createSchema := flag.Bool("init-db", false, "Initialize app database")
|
||||||
migrate := flag.Bool("migrate", false, "Migrate the database")
|
migrate := flag.Bool("migrate", false, "Migrate the database")
|
||||||
|
@ -229,7 +232,18 @@ func Serve() {
|
||||||
}
|
}
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
} else if *doConfig {
|
} 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 {
|
if err != nil {
|
||||||
log.Error("Unable to configure: %v", err)
|
log.Error("Unable to configure: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
@ -24,7 +24,7 @@ type SetupData struct {
|
||||||
Config *Config
|
Config *Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func Configure(fname string) (*SetupData, error) {
|
func Configure(fname string, configSections []string) (*SetupData, error) {
|
||||||
data := &SetupData{}
|
data := &SetupData{}
|
||||||
var err error
|
var err error
|
||||||
if fname == "" {
|
if fname == "" {
|
||||||
|
|
Loading…
Reference in a new issue