laymonage / kbbi-python

A Python module that fetches a page of a word/phrase from the Online Indonesian Dictionary (https://kbbi.kemdikbud.go.id).
https://pypi.org/project/kbbi
MIT License
82 stars 20 forks source link

Tambahkan antarmuka #6

Closed laymonage closed 4 years ago

laymonage commented 5 years ago

Sebuah antarmuka (misalnya CLI) sepertinya akan menambah manfaat dari modul ini. Misalnya, pengguna dapat melakukan sesuatu seperti berikut.

$ python kbbi.py cinta
cin.ta
1. (a)  suka sekali; sayang benar
2. (a)  kasih sekali; terpikat (antara laki-laki dan perempuan)
3. (a)  ingin sekali; berharap sekali; rindu
4. (a) (kl)  susah hati (khawatir); risau

$ python kbbi.py cinta --contoh
cin.ta
1. (a)  suka sekali; sayang benar: orang tuaku -- kepada kami semua; -- kepada sesama makhluk
2. (a)  kasih sekali; terpikat (antara laki-laki dan perempuan): sebenarnya dia tidak -- kepada lelaki itu, tetapi hanya menginginkan hartanya
3. (a)  ingin sekali; berharap sekali; rindu: makin ditindas makin terasa betapa --nya akan kemerdekaan
4. (a) (kl)  susah hati (khawatir); risau: tiada terperikan lagi --nya ditinggalkan ayahnya itu

$ python kbbi.py taksir --json
{
  "taksir": [
    {
      "nama": "tak.sir",
      "nomor": "1",
      "kata_dasar": [],
      "pelafalan": "",
      "bentuk_tidak_baku": [],
      "varian": [],
      "makna": [
        {
          "kelas": {
            "n": "Nomina: kata benda"
          },
          "submakna": [
            "kira-kira",
            "hitungan (kasar)"
          ],
          "contoh": []
        }
      ]
    },
    {
      "nama": "tak.sir",
      "nomor": "2",
      "kata_dasar": [],
      "pelafalan": "",
      "bentuk_tidak_baku": [],
      "varian": [],
      "makna": [
        {
          "kelas": {
            "a": "Adjektiva: kata yang menjelaskan nomina atau pronomina",
            "Ar": "Arab: -"
          },
          "submakna": [
            "tidak mengindahkan",
            "lalai",
            "alpa"
          ],
          "contoh": []
        },
        {
          "kelas": {
            "n": "Nomina: kata benda",
            "Ar": "Arab: -"
          },
          "submakna": [
            "kelalaian",
            "kealpaan"
          ],
          "contoh": []
        }
      ]
    }
  ]
}

Lebih baik lagi kalau bisa menjadi program executable, jadi pengguna cukup memanggil kbbi dan bukan python kbbi.py.

Salah satu hal yang perlu diperhatikan adalah bahwa nama entri di KBBI bisa terdiri atas lebih dari satu kata. Antarmuka program harus dapat menangani hal tersebut dengan baik.

laymonage commented 4 years ago

Telah diperbaiki dalam a5fcbbf7e4ebaf14d984f8d4241aa7d8d56d5c31 dan 29205b18242c3b8458b2432d9962bad19ee218ff.