-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathperson.go
40 lines (33 loc) · 1.14 KB
/
person.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package letswatch
import (
"errors"
"github.com/rs/zerolog/log"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
type PersonInfo struct {
LetterboxdUsername string
SubscribedTo []string
}
func NewPersonInfoWithCmd(cmd *cobra.Command) (*PersonInfo, error) {
mi := &PersonInfo{}
mi.LetterboxdUsername = viper.GetString("letterboxd-username")
log.Debug().Str("letterboxd-user", mi.LetterboxdUsername).Msg("Letterboxd User")
if mi.LetterboxdUsername == "" {
return nil, errors.New("letterboxd-username is required")
}
mi.SubscribedTo = viper.GetStringSlice("subscribed-to")
log.Debug().Strs("subscribed-to", mi.SubscribedTo).Msg("Subscribed to")
return mi, nil
}
func NewPersonInfoWithViper(v *viper.Viper) (mi *PersonInfo, err error) {
mi = &PersonInfo{}
mi.LetterboxdUsername = v.GetString("letterboxd-username")
log.Debug().Str("letterboxd-user", mi.LetterboxdUsername).Msg("Letterboxd User")
if mi.LetterboxdUsername == "" {
return nil, errors.New("letterboxd-username is required")
}
mi.SubscribedTo = v.GetStringSlice("subscribed-to")
log.Debug().Strs("subscribed-to", mi.SubscribedTo).Msg("Subscribed to")
return mi, nil
}