aboutsummaryrefslogtreecommitdiff
path: root/kata.go
diff options
context:
space:
mode:
Diffstat (limited to 'kata.go')
-rw-r--r--kata.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/kata.go b/kata.go
index dfadf61..85ecb82 100644
--- a/kata.go
+++ b/kata.go
@@ -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
}