diff options
| author | Shulhan <m.shulhan@gmail.com> | 2020-04-12 00:16:02 +0700 |
|---|---|---|
| committer | Shulhan <m.shulhan@gmail.com> | 2020-04-12 00:16:02 +0700 |
| commit | 3d9f0baa2c96b101ec8047a5969c7ece14e16991 (patch) | |
| tree | 131f8f4090b8cad16198b4bd776f0d07a7f716e6 /kata.go | |
| parent | 9d9505250d549b7a5cca9c0cd2ebfc8359bfcd45 (diff) | |
| download | kamusku-3d9f0baa2c96b101ec8047a5969c7ece14e16991.tar.xz | |
all: tangani kata tidak baku
Sebelumnya bila kata adalah kata tidak baku, definisi kata akan berisi
karaketer "→" saja.
Perubahan ini memeriksa bila definisi kata adalah "→" maka akan dianggap
tidak baku dan kata yang baku berada satu elemen sesudahnya.
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 } |
