style: reduce verbosity in cli/cmd/serve.go

This commit is contained in:
1138-4EB 2018-08-10 03:02:30 +01:00
parent 9048e315d8
commit 3fac2ff379

View File

@ -2,7 +2,7 @@ package cmd
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" v "github.com/spf13/viper"
filebrowser "github.com/filebrowser/filebrowser/lib" filebrowser "github.com/filebrowser/filebrowser/lib"
) )
@ -55,81 +55,84 @@ var (
func init() { func init() {
rootCmd.AddCommand(serveCmd) rootCmd.AddCommand(serveCmd)
serveCmd.PersistentFlags().IntVarP(&port, "port", "p", 0, "HTTP Port (default is random)") f := serveCmd.PersistentFlags()
serveCmd.PersistentFlags().StringVarP(&addr, "address", "a", "", "Address to listen to (default is all of them)") l := f.Lookup
serveCmd.PersistentFlags().StringVarP(&database, "database", "d", "./filebrowser.db", "Database file")
serveCmd.PersistentFlags().StringVarP(&logfile, "log", "l", "stdout", "Errors logger; can use 'stdout', 'stderr' or file") f.IntVarP(&port, "port", "p", 0, "HTTP Port (default is random)")
serveCmd.PersistentFlags().StringVarP(&baseurl, "baseurl", "b", "", "Base URL") f.StringVarP(&addr, "address", "a", "", "Address to listen to (default is all of them)")
serveCmd.PersistentFlags().StringVar(&prefixurl, "prefixurl", "", "Prefix URL") f.StringVarP(&database, "database", "d", "./filebrowser.db", "Database file")
serveCmd.PersistentFlags().StringVar(&staticg, "staticgen", "", "Static Generator you want to enable") f.StringVarP(&logfile, "log", "l", "stdout", "Errors logger; can use 'stdout', 'stderr' or file")
f.StringVarP(&baseurl, "baseurl", "b", "", "Base URL")
f.StringVar(&prefixurl, "prefixurl", "", "Prefix URL")
f.StringVar(&staticg, "staticgen", "", "Static Generator you want to enable")
// User default values // User default values
serveCmd.PersistentFlags().StringVar(&commands, "defaults.commands", "git svn hg", "Default commands option for new users") f.StringVar(&commands, "defaults.commands", "git svn hg", "Default commands option for new users")
serveCmd.PersistentFlags().StringVarP(&scope, "defaults.scope", "s", ".", "Default scope option for new users") f.StringVarP(&scope, "defaults.scope", "s", ".", "Default scope option for new users")
serveCmd.PersistentFlags().StringVar(&viewMode, "defaults.viewMode", "mosaic", "Default view mode for new users") f.StringVar(&viewMode, "defaults.viewMode", "mosaic", "Default view mode for new users")
serveCmd.PersistentFlags().BoolVar(&allowCommands, "defaults.allowCommands", true, "Default allow commands option for new users") f.BoolVar(&allowCommands, "defaults.allowCommands", true, "Default allow commands option for new users")
serveCmd.PersistentFlags().BoolVar(&allowEdit, "defaults.allowEdit", true, "Default allow edit option for new users") f.BoolVar(&allowEdit, "defaults.allowEdit", true, "Default allow edit option for new users")
serveCmd.PersistentFlags().BoolVar(&allowPublish, "defaults.allowPublish", true, "Default allow publish option for new users") f.BoolVar(&allowPublish, "defaults.allowPublish", true, "Default allow publish option for new users")
serveCmd.PersistentFlags().BoolVar(&allowNew, "defaults.allowNew", true, "Default allow new option for new users") f.BoolVar(&allowNew, "defaults.allowNew", true, "Default allow new option for new users")
serveCmd.PersistentFlags().StringVar(&locale, "defaults.locale", "", "Default locale for new users, set it empty to enable auto detect from browser") f.StringVar(&locale, "defaults.locale", "", "Default locale for new users, set it empty to enable auto detect from browser")
// Recaptcha settings // Recaptcha settings
serveCmd.PersistentFlags().StringVar(&recaptcha.host, "recaptcha.host", "https://www.google.com", "Use another host for ReCAPTCHA. recaptcha.net might be useful in China") f.StringVar(&recaptcha.host, "recaptcha.host", "https://www.google.com", "Use another host for ReCAPTCHA. recaptcha.net might be useful in China")
serveCmd.PersistentFlags().StringVar(&recaptcha.key, "recaptcha.key", "", "ReCaptcha site key") f.StringVar(&recaptcha.key, "recaptcha.key", "", "ReCaptcha site key")
serveCmd.PersistentFlags().StringVar(&recaptcha.secret, "recaptcha.secret", "", "ReCaptcha secret") f.StringVar(&recaptcha.secret, "recaptcha.secret", "", "ReCaptcha secret")
// Auth settings // Auth settings
serveCmd.PersistentFlags().StringVar(&auth.method, "auth.method", "default", "Switch between 'none', 'default' and 'proxy' authentication") f.StringVar(&auth.method, "auth.method", "default", "Switch between 'none', 'default' and 'proxy' authentication")
serveCmd.PersistentFlags().StringVar(&auth.header, "auth.header", "X-Forwarded-User", "The header name used for proxy authentication") f.StringVar(&auth.header, "auth.header", "X-Forwarded-User", "The header name used for proxy authentication")
viper.SetDefault("Port", "0") v.SetDefault("Port", "0")
viper.SetDefault("Address", "") v.SetDefault("Address", "")
viper.SetDefault("Database", "./filebrowser.db") v.SetDefault("Database", "./filebrowser.db")
viper.SetDefault("Logger", "stdout") v.SetDefault("Logger", "stdout")
viper.SetDefault("BaseURL", "") v.SetDefault("BaseURL", "")
viper.SetDefault("PrefixURL", "") v.SetDefault("PrefixURL", "")
viper.SetDefault("StaticGen", "") v.SetDefault("StaticGen", "")
viper.BindPFlag("Port", serveCmd.PersistentFlags().Lookup("port")) v.BindPFlag("Port", l("port"))
viper.BindPFlag("Address", serveCmd.PersistentFlags().Lookup("address")) v.BindPFlag("Address", l("address"))
viper.BindPFlag("Database", serveCmd.PersistentFlags().Lookup("database")) v.BindPFlag("Database", l("database"))
viper.BindPFlag("Logger", serveCmd.PersistentFlags().Lookup("log")) v.BindPFlag("Logger", l("log"))
viper.BindPFlag("BaseURL", serveCmd.PersistentFlags().Lookup("baseurl")) v.BindPFlag("BaseURL", l("baseurl"))
viper.BindPFlag("PrefixURL", serveCmd.PersistentFlags().Lookup("prefixurl")) v.BindPFlag("PrefixURL", l("prefixurl"))
viper.BindPFlag("StaticGen", serveCmd.PersistentFlags().Lookup("staticgen")) v.BindPFlag("StaticGen", l("staticgen"))
// User default values // User default values
viper.SetDefault("Defaults.Scope", ".") v.SetDefault("Defaults.Scope", ".")
viper.SetDefault("Defaults.Commands", []string{"git", "svn", "hg"}) v.SetDefault("Defaults.Commands", []string{"git", "svn", "hg"})
viper.SetDefault("Defaults.ViewMode", filebrowser.MosaicViewMode) v.SetDefault("Defaults.ViewMode", filebrowser.MosaicViewMode)
viper.SetDefault("Defaults.AllowCommmands", true) v.SetDefault("Defaults.AllowCommmands", true)
viper.SetDefault("Defaults.AllowEdit", true) v.SetDefault("Defaults.AllowEdit", true)
viper.SetDefault("Defaults.AllowNew", true) v.SetDefault("Defaults.AllowNew", true)
viper.SetDefault("Defaults.AllowPublish", true) v.SetDefault("Defaults.AllowPublish", true)
viper.SetDefault("Defaults.Locale", "") v.SetDefault("Defaults.Locale", "")
viper.BindPFlag("Defaults.Scope", serveCmd.PersistentFlags().Lookup("defaults.scope")) v.BindPFlag("Defaults.Scope", l("defaults.scope"))
viper.BindPFlag("Defaults.Commands", serveCmd.PersistentFlags().Lookup("defaults.commands")) v.BindPFlag("Defaults.Commands", l("defaults.commands"))
viper.BindPFlag("Defaults.ViewMode", serveCmd.PersistentFlags().Lookup("defaults.viewMode")) v.BindPFlag("Defaults.ViewMode", l("defaults.viewMode"))
viper.BindPFlag("Defaults.AllowCommands", serveCmd.PersistentFlags().Lookup("defaults.allowCommands")) v.BindPFlag("Defaults.AllowCommands", l("defaults.allowCommands"))
viper.BindPFlag("Defaults.AllowEdit", serveCmd.PersistentFlags().Lookup("defaults.allowEdit")) v.BindPFlag("Defaults.AllowEdit", l("defaults.allowEdit"))
viper.BindPFlag("Defaults.AllowNew", serveCmd.PersistentFlags().Lookup("defaults.allowNew")) v.BindPFlag("Defaults.AllowNew", l("defaults.allowNew"))
viper.BindPFlag("Defaults.AllowPublish", serveCmd.PersistentFlags().Lookup("defaults.allowPublish")) v.BindPFlag("Defaults.AllowPublish", l("defaults.allowPublish"))
viper.BindPFlag("Defaults.Locale", serveCmd.PersistentFlags().Lookup("defaults.locale")) v.BindPFlag("Defaults.Locale", l("defaults.locale"))
// Recaptcha settings // Recaptcha settings
viper.SetDefault("Recaptcha.Host", "https://www.google.com") v.SetDefault("Recaptcha.Host", "https://www.google.com")
viper.SetDefault("Recaptcha.Key", "") v.SetDefault("Recaptcha.Key", "")
viper.SetDefault("Recaptcha.Secret", "") v.SetDefault("Recaptcha.Secret", "")
viper.BindPFlag("Recaptcha.Host", serveCmd.PersistentFlags().Lookup("recaptcha.host")) v.BindPFlag("Recaptcha.Host", l("recaptcha.host"))
viper.BindPFlag("Recaptcha.Key", serveCmd.PersistentFlags().Lookup("recaptcha.key")) v.BindPFlag("Recaptcha.Key", l("recaptcha.key"))
viper.BindPFlag("Recaptcha.Secret", serveCmd.PersistentFlags().Lookup("recaptcha.secret")) v.BindPFlag("Recaptcha.Secret", l("recaptcha.secret"))
// Auth settings // Auth settings
viper.SetDefault("Auth.Method", "default") v.SetDefault("Auth.Method", "default")
viper.SetDefault("Auth.Header", "X-Fowarded-User") v.SetDefault("Auth.Header", "X-Fowarded-User")
viper.BindPFlag("Auth.Method", serveCmd.PersistentFlags().Lookup("auth.method")) v.BindPFlag("Auth.Method", l("auth.method"))
viper.BindPFlag("Auth.Header", serveCmd.PersistentFlags().Lookup("auth.header")) v.BindPFlag("Auth.Header", l("auth.header"))
} }