From 0bce6c0a14d5d2495c71cf7b04de1ffcb8f7ff81 Mon Sep 17 00:00:00 2001 From: 1138-4EB <1138-4EB@users.noreply.github.com> Date: Sun, 6 Jan 2019 19:40:37 +0100 Subject: [PATCH] wip --- cmd/root.go | 26 ++++++++++++++++---------- cmd/rules.go | 6 +++--- cmd/users_update.go | 6 ++++-- http/auth.go | 2 +- http/static.go | 2 +- storage/bolt/importer/conf.go | 18 +++++++++--------- 6 files changed, 34 insertions(+), 26 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index c9c9f7d1..52ccc216 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -2,7 +2,6 @@ package cmd import ( "crypto/tls" - "errors" "io/ioutil" "log" "net" @@ -92,8 +91,8 @@ func mustGetStringViperFlag(flags *pflag.FlagSet, key string) string { var rootCmd = &cobra.Command{ Use: "filebrowser", - Short: "A stylish web-based file browser", Version: version.Version, + Short: "A stylish web-based file browser", Long: `File Browser CLI lets you create the database to use with File Browser, manage your users and all the configurations without acessing the web interface. @@ -129,7 +128,11 @@ set FB_DATABASE. Also, if the database path doesn't exist, File Browser will enter into the quick setup mode and a new database will be bootstraped and a new user created with the credentials from options "username" and "password".`, + Run: python(func(cmd *cobra.Command, args []string, d pythonData) { + + log.Println(cfgFile) + if !d.hadDB { quickSetup(cmd.Flags(), d) } @@ -141,22 +144,23 @@ user created with the credentials from options "username" and "password".`, checkErr(err) server.Root = root - handler, err := fbhttp.NewHandler(d.store, server) - checkErr(err) + adr := server.Address + ":" + server.Port var listener net.Listener if server.TLSKey != "" && server.TLSCert != "" { cer, err := tls.LoadX509KeyPair(server.TLSCert, server.TLSKey) checkErr(err) - config := &tls.Config{Certificates: []tls.Certificate{cer}} - listener, err = tls.Listen("tcp", server.Address+":"+server.Port, config) + listener, err = tls.Listen("tcp", adr, &tls.Config{Certificates: []tls.Certificate{cer}}) checkErr(err) } else { - listener, err = net.Listen("tcp", server.Address+":"+server.Port) + listener, err = net.Listen("tcp", adr) checkErr(err) } + handler, err := fbhttp.NewHandler(d.store, server) + checkErr(err) + log.Println("Listening on", listener.Addr().String()) if err := http.Serve(listener, handler); err != nil { log.Fatal(err) @@ -267,7 +271,7 @@ func quickSetup(flags *pflag.FlagSet, d pythonData) { } if username == "" || password == "" { - checkErr(errors.New("username and password cannot be empty during quick setup")) + log.Fatal("username and password cannot be empty during quick setup") } user := &users.User{ @@ -303,7 +307,9 @@ func initConfig() { if _, ok := err.(v.ConfigParseError); ok { panic(err) } - // TODO: log.Println("No config file provided") + cfgFile = "No config file used" + } else { + cfgFile = "Using config file: " + v.ConfigFileUsed() } - // else TODO: log.Println("Using config file:", v.ConfigFileUsed()) + } diff --git a/cmd/rules.go b/cmd/rules.go index a0eab30b..efd23f7f 100644 --- a/cmd/rules.go +++ b/cmd/rules.go @@ -43,14 +43,14 @@ func runRules(st *storage.Storage, cmd *cobra.Command, users func(*users.User), return } - settings, err := st.Settings.Get() + s, err := st.Settings.Get() checkErr(err) if global != nil { - global(settings) + global(s) } - printRules(settings.Rules, id) + printRules(s.Rules, id) } func getUserIdentifier(flags *pflag.FlagSet) interface{} { diff --git a/cmd/users_update.go b/cmd/users_update.go index 65b281af..cf7cd2ac 100644 --- a/cmd/users_update.go +++ b/cmd/users_update.go @@ -26,8 +26,10 @@ options you want to change.`, password := mustGetString(flags, "password") newUsername := mustGetString(flags, "username") - var err error - var user *users.User + var ( + err error + user *users.User + ) if id != 0 { user, err = d.store.Users.Get("", id) diff --git a/http/auth.go b/http/auth.go index d2c4792f..db58bba1 100644 --- a/http/auth.go +++ b/http/auth.go @@ -7,7 +7,7 @@ import ( "strings" "time" - "github.com/dgrijalva/jwt-go" + jwt "github.com/dgrijalva/jwt-go" "github.com/dgrijalva/jwt-go/request" "github.com/filebrowser/filebrowser/v2/errors" "github.com/filebrowser/filebrowser/v2/users" diff --git a/http/static.go b/http/static.go index 2f0fe657..053c7654 100644 --- a/http/static.go +++ b/http/static.go @@ -9,7 +9,7 @@ import ( "strings" "text/template" - "github.com/GeertJohan/go.rice" + rice "github.com/GeertJohan/go.rice" "github.com/filebrowser/filebrowser/v2/auth" "github.com/filebrowser/filebrowser/v2/settings" "github.com/filebrowser/filebrowser/v2/storage" diff --git a/storage/bolt/importer/conf.go b/storage/bolt/importer/conf.go index e7eb4474..d0348310 100644 --- a/storage/bolt/importer/conf.go +++ b/storage/bolt/importer/conf.go @@ -13,8 +13,8 @@ import ( "github.com/asdine/storm" "github.com/filebrowser/filebrowser/v2/settings" "github.com/filebrowser/filebrowser/v2/storage" - "github.com/pelletier/go-toml" - "gopkg.in/yaml.v2" + toml "github.com/pelletier/go-toml" + yaml "gopkg.in/yaml.v2" ) type oldDefs struct { @@ -33,7 +33,7 @@ type oldAuth struct { } type oldConf struct { - Port string `json:"port" yaml:"port" toml:"port"` + Port string `json:"port" yaml:"port" toml:"port"` BaseURL string `json:"baseURL" yaml:"baseURL" toml:"baseURL"` Log string `json:"log" yaml:"log" toml:"log"` Address string `json:"address" yaml:"address" toml:"address"` @@ -118,8 +118,8 @@ func importConf(db *storm.DB, path string, sto *storage.Storage) error { } s := &settings.Settings{ - Key: key, - Signup: false, + Key: key, + Signup: false, Defaults: settings.UserDefaults{ Scope: cfg.Defaults.Scope, Commands: cfg.Defaults.Commands, @@ -139,10 +139,10 @@ func importConf(db *storm.DB, path string, sto *storage.Storage) error { } server := &settings.Server{ - BaseURL : cfg.BaseURL, - Port : cfg.Port, - Address : cfg.Address, - Log : cfg.Log, + BaseURL: cfg.BaseURL, + Port: cfg.Port, + Address: cfg.Address, + Log: cfg.Log, } var auther auth.Auther