aboutsummaryrefslogtreecommitdiff
path: root/client.go
AgeCommit message (Collapse)Author
2025-07-14all: replace golangci-lint with internal linterShulhan
The internal/cmd/gocheck use the go static analysis [Analyzer] that are not included in the default go vet. By using gocheck we found un-alignment and shadowing, * client.go:18:13: struct with 24 pointer bytes could be 16 * dictionary.go:23:17: struct with 32 pointer bytes could be 16 * client_test.go:18:13: struct with 56 pointer bytes could be 48 * client_test.go:62:13: struct with 56 pointer bytes could be 48 * cmd/kamusku-telegram-bot/main.go:31:3: declaration of "err" shadows declaration at line 25 * kamusku_test.go:49:3: declaration of "err" shadows declaration at line 38 [Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer
2024-04-18all: remove unused Client and activeClientShulhan
Since we now only have one client, apiClient, rename it to Client so it can be used by other module or package later.
2024-04-18all: rename the module to "kamusku"Shulhan
2024-04-06all: re-license the project to GPL-3.0 or laterShulhan
For the reason why we choose GPL v3 see https://kilabit.info/journal/2022/gpl/. While at it, we make the project comply with REUSE Specification version 3.0.
2024-04-06all: replace "share" module with "pakakeh.go"Shulhan
The "share" module has been moved to new forge, SourceHut, with new name "pakakeh.go".
2021-01-31all: rewrite the serverShulhan
This commit move the directClient to different repository called kamusku and changes the module name from kamusku to kamusd.
2020-05-30all: rename the module to "kamusku"Shulhan
2020-04-12all: refactoring client to load cookies automaticallyShulhan
When creating new client, the directClient will autoload cookies in predefined location. If Login is called, the cookies will autosave directly to predefined location. This will allow the server to use authenticated directClient to mitigate the limit on KBBI official server.
2020-04-01all: implement server and client for dictionary APIShulhan
Currently the server and client can onyl handle API for looking up definitions of the words through "/api/definisi" URL.
2020-03-30all: refactoring ClientShulhan
The client will have two mode: direct or API. The direct mode connect to official KBBI website, request the word page, and parse the HTML to get the definition. The API mode connect to server API that provide caching of dictionary.
2020-03-29client: ganti parameter CariDefinisi menjadi slice of stringShulhan
Sebelumnya parameter untuk method CariDefinisi() hanya sebuah string. Supaya dapat mencari lebih dari satu kata dalam satu kali panggil, maka parameternya diganti menjadi slice of string. Hal ini menyebabkan penambahan field internal "err" yang berisi kesalahan pada saat pengambilan definisi yang dapat diperiksa dengan menggunakan method Err(). Selain itu, pindahkan fungsi parseHTMLEntri menjadi method dari Kata.
2020-03-29kbbi: urai kata dasar dari hasil pencarian definisi kataShulhan
Kata dasar dari sebuah kata dalam HTML berada dalam elemen "h2 > span[class="rootword"]" Jika field Dasar kosong berarti kata tersebut adalah kata dasar. Perubahan ini mengubah struktur balikan untuk dapat menyimpan kata dasar.
2020-03-28client: periksa juga elemen "ul" untuk definisi kataShulhan
Jika definisi dari kata hanya satu, berkas HTML yang dihasilkan menggunakan "ul" bukan "ol". Hal ini menyebabkan kata-kata yang hanya memiliki satu definisi mengeluarkan pesan kesalahan.
2020-03-16kbbi: tambah fitur pencarian definisi kataShulhan
2020-03-02kbbi: The command line interface and Go library for kbbi.kemdikbud.go.idShulhan