diff options
Diffstat (limited to 'kata.go')
| -rw-r--r-- | kata.go | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -23,6 +23,7 @@ func (kata *Kata) Err() error { type Kata struct { Dasar string `json:"dasar"` Definisi []*DefinisiKata `json:"definisi"` + Pesan string `json:"pesan"` err error } @@ -30,7 +31,7 @@ type Kata struct { // parseHTMLEntri parse HTML body from "/entri/<kata>" page to find the // definition of the word. // -func (kata *Kata) parseHTMLEntri(htmlBody []byte) (err error) { +func (kata *Kata) parseHTMLEntri(in string, htmlBody []byte) (err error) { iter, err := html.Parse(bytes.NewReader(htmlBody)) if err != nil { return err @@ -48,7 +49,12 @@ func (kata *Kata) parseHTMLEntri(htmlBody []byte) (err error) { case tagNameOrderedList, tagNameUnorderedList: li := node.GetFirstChild() for li != nil { - defKata := parseDefinisiKata(li) + defKata, err := parseDefinisiKata(in, li) + if err != nil { + kata.Pesan = err.Error() + err = nil + break + } if defKata == nil { break } |
