Add codec to keys.Manager, recovery test passes

This commit is contained in:
Ethan Frey
2017-06-20 18:35:16 +02:00
parent 7108dedc21
commit 53e19e3dfa
7 changed files with 83 additions and 7 deletions

View File

@@ -40,6 +40,7 @@ func NewCodec(words []string) (codec *WordCodec, err error) {
return res, nil
}
// LoadCodec loads a pre-compiled language file
func LoadCodec(bank string) (codec *WordCodec, err error) {
words, err := loadBank(bank)
if err != nil {
@@ -48,6 +49,15 @@ func LoadCodec(bank string) (codec *WordCodec, err error) {
return NewCodec(words)
}
// MustLoadCodec panics if word bank is missing, only for tests
func MustLoadCodec(bank string) *WordCodec {
codec, err := LoadCodec(bank)
if err != nil {
panic(err)
}
return codec
}
// loadBank opens a wordlist file and returns all words inside
func loadBank(bank string) ([]string, error) {
filename := "keys/wordlist/" + bank + ".txt"