From 7ddcfd4d6421473dca5e19b9f8aa227a52382ee3 Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Mon, 20 Jul 2026 16:14:29 +0530 Subject: added 'default guestbook' option --- cmd/del.go | 6 +++++- cmd/dump.go | 6 +++++- cmd/root.go | 22 +++++++++++++--------- cmd/serve.go | 6 +++++- guestbook | Bin 0 -> 15109353 bytes guestbook.toml | 5 +++++ 6 files changed, 33 insertions(+), 12 deletions(-) create mode 100755 guestbook diff --git a/cmd/del.go b/cmd/del.go index 60dad6c..5764d86 100644 --- a/cmd/del.go +++ b/cmd/del.go @@ -87,5 +87,9 @@ var delCmd = &cobra.Command{ func init() { rootCmd.AddCommand(delCmd) - delCmd.Flags().StringP("guestbook", "g", "my_guestbook", "Guestbook name (defined in /etc/guestbook.toml)") + if viper.IsSet("default_guestbook") { + defaultGuestbook = viper.GetString("default_guestbook") + } + + delCmd.Flags().StringP("guestbook", "g", defaultGuestbook, "Guestbook name (defined in /etc/guestbook.toml)") } diff --git a/cmd/dump.go b/cmd/dump.go index 769c4bc..3880c85 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -80,5 +80,9 @@ var dumpCmd = &cobra.Command{ func init() { rootCmd.AddCommand(dumpCmd) - dumpCmd.Flags().StringP("guestbook", "g", "my_guestbook", "Guestbook name (defined in /etc/guestbook.toml)") + if viper.IsSet("default_guestbook") { + defaultGuestbook = viper.GetString("default_guestbook") + } + + dumpCmd.Flags().StringP("guestbook", "g", defaultGuestbook, "Guestbook name (defined in /etc/guestbook.toml)") } diff --git a/cmd/root.go b/cmd/root.go index 0a7d0e6..b3b8395 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -27,11 +27,13 @@ import ( var rootCmd = &cobra.Command{ Use: "guestbook", - Version: "v1.6.2", + Version: "v1.7.0", Short: "Standalone guestbook server for static websites", Long: "Standalone guestbook server for static websites", } +var defaultGuestbook string = "my_guestbook" + func Execute() { err := rootCmd.Execute() if err != nil { @@ -40,12 +42,14 @@ func Execute() { } func init() { - cobra.OnInitialize(func () { - viper.SetConfigName("guestbook") - viper.AddConfigPath("/etc") - - if err := viper.ReadInConfig(); err != nil { - log.Fatal(err) - } - }) + viper.SetConfigName("guestbook") + viper.AddConfigPath("/etc") + + if err := viper.ReadInConfig(); err != nil { + log.Fatal(err) + } + + if viper.IsSet("default_guestbook") { + defaultGuestbook = viper.GetString("default_guestbook") + } } diff --git a/cmd/serve.go b/cmd/serve.go index 7d0b8c1..89f6680 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -130,5 +130,9 @@ var serveCmd = &cobra.Command{ func init() { rootCmd.AddCommand(serveCmd) - serveCmd.Flags().StringP("guestbook", "g", "my_guestbook", "Guestbook name (defined in /etc/guestbook.toml)") + if viper.IsSet("default_guestbook") { + defaultGuestbook = viper.GetString("default_guestbook") + } + + serveCmd.Flags().StringP("guestbook", "g", defaultGuestbook, "Guestbook name (defined in /etc/guestbook.toml)") } diff --git a/guestbook b/guestbook new file mode 100755 index 0000000..ae92034 Binary files /dev/null and b/guestbook differ diff --git a/guestbook.toml b/guestbook.toml index 0a1c7c0..a8c921a 100644 --- a/guestbook.toml +++ b/guestbook.toml @@ -1,3 +1,8 @@ +# useful especially if you have multiple guestbooks running +# serve, dump and del commands will default to this +# use the -g flag to override +default_guestbook = "my_guestbook" + # the idea is to have a single database but different # tables for each guestbook (if any) [database] -- cgit v1.2.3