Skip to content

Commit

Permalink
GenerateRandomAlias: return error with a random English name
Browse files Browse the repository at this point in the history
  • Loading branch information
ilius committed Oct 31, 2024
1 parent 277922c commit ae0beb4
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 15 deletions.
13 changes: 6 additions & 7 deletions cmd/localsend-go/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package main

import (
"fmt"
"log/slog"
"os"

"github.com/ilius/localsend-go/pkg/config"
Expand All @@ -14,16 +13,16 @@ import (
)

func main() {
noColor := os.Getenv("NO_COLOLR") != ""
logger := logging.SetupLogger(noColor, logging.DefaultLevel)

defer func() {
r := recover()
if r != nil {
slog.Error(fmt.Sprintf("%v", r))
logger.Error(fmt.Sprintf("%v", r))
}
}()

noColor := os.Getenv("NO_COLOLR") != ""
logger := logging.SetupLogger(noColor, logging.DefaultLevel)

_flags := parseFlags()

conf := config.Init()
Expand All @@ -38,12 +37,12 @@ func main() {
if _flags.ReceiveMode {
srv := server.New(conf, logger)
srv.StartHttpServer()
slog.Info("Waiting to receive files...")
logger.Info("Waiting to receive files...")
select {} // Blocking program waiting to receive file
} else {
err := send.SendFile(conf, _flags.ToDevice, _flags.FilePath)
if err != nil {
slog.Error("Send failed", "err", err)
logger.Error("Send failed", "err", err)
}
}
}
12 changes: 5 additions & 7 deletions pkg/alias/random_alias.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package alias

import (
"crypto/rand"
"log/slog"
"fmt"
"math/big"

"github.com/ilius/localsend-go/pkg/alias/en"
Expand All @@ -26,16 +26,14 @@ func genAlias(lang LangInterface) string {
return lang.Combination(adjectives[randomInt(len(adjectives))], fruits[randomInt(len(fruits))])
}

func GenerateRandomAlias(lang string) string {
func GenerateRandomAlias(lang string) (string, error) {
switch lang {
case "", "en":
return genAlias(_en)
return genAlias(_en), nil
case "fa":
return genAlias(_fa)
default:
slog.Error("unsupported language name", "lang", lang)
return genAlias(_fa), nil
}
return genAlias(_en)
return genAlias(_en), fmt.Errorf("unsupported language name %#v", lang)
}

// randomInt returns a uniform random value in [0, max). It panics if max <= 0.
Expand Down
7 changes: 6 additions & 1 deletion pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import (

const fileName = "config.toml"

// const fallbackAlias = "Unknown"

//go:embed config.toml
var embedFS embed.FS

Expand Down Expand Up @@ -74,7 +76,10 @@ func Init() *Config {
slog.Info("Loaded user config file", "configData", conf)
}
if conf.NameOfDevice == "" {
name := alias.GenerateRandomAlias(conf.NameLanguage)
name, err := alias.GenerateRandomAlias(conf.NameLanguage)
if err != nil {
slog.Error(err.Error())
}
slog.Info("Using random name/alias: ", "name", name)
conf.NameOfDevice = name
}
Expand Down

0 comments on commit ae0beb4

Please sign in to comment.