summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-11-29 10:50:36 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-11-29 10:50:36 +0100
commitb60ae35b97c4f44b9b09fcf06c863c695bc3c73a (patch)
tree0e927ac5a253c5a91a06ae24af6e795065da6e34 /hugolib
parent003ba5b10f80cdba7151505d9e33b6d96b63a297 (diff)
hugolib: Fix timeout number parsing for YAML/JSON config
Where numbers are all floats. Fixes #6555
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/image_test.go4
-rw-r--r--hugolib/site.go10
2 files changed, 7 insertions, 7 deletions
diff --git a/hugolib/image_test.go b/hugolib/image_test.go
index 315da6b78..cd7ec7a7e 100644
--- a/hugolib/image_test.go
+++ b/hugolib/image_test.go
@@ -36,7 +36,7 @@ func TestImageOps(t *testing.T) {
c.Assert(err, qt.IsNil)
defer clean()
- newBuilder := func(timeout string) *sitesBuilder {
+ newBuilder := func(timeout interface{}) *sitesBuilder {
v := viper.New()
v.Set("workingDir", workDir)
@@ -152,7 +152,7 @@ IMG SHORTCODE: /images/sunset_hu59e56ffff1bc1d8d122b1403d34e039f_90587_129x239_r
c.Assert(err, qt.Not(qt.IsNil))
}
- b = newBuilder("30s")
+ b = newBuilder(29000)
b.Build(BuildCfg{})
assertImages()
diff --git a/hugolib/site.go b/hugolib/site.go
index 69e745e61..1df7d6076 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -413,11 +413,11 @@ func newSite(cfg deps.DepsCfg) (*Site, error) {
timeout := 30 * time.Second
if cfg.Language.IsSet("timeout") {
- switch v := cfg.Language.Get("timeout").(type) {
- case int64:
- timeout = time.Duration(v) * time.Millisecond
- case string:
- d, err := time.ParseDuration(v)
+ v := cfg.Language.Get("timeout")
+ if n := cast.ToInt(v); n > 0 {
+ timeout = time.Duration(n) * time.Millisecond
+ } else {
+ d, err := time.ParseDuration(cast.ToString(v))
if err == nil {
timeout = d
}