hugolib: Fix timeout number parsing for YAML/JSON config

Where numbers are all floats.

Fixes #6555
This commit is contained in:
Bjørn Erik Pedersen 2019-11-29 10:50:36 +01:00
parent 003ba5b10f
commit b60ae35b97
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
2 changed files with 7 additions and 7 deletions

View file

@ -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()

View file

@ -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
}