Skip to content

Commit

Permalink
Gunakan flag untuk menonaktifkan fitur pengguna
Browse files Browse the repository at this point in the history
Kuki tetap digunakan dan batas pencarian tetap lebih besar
  • Loading branch information
laymonage committed Mar 21, 2020
1 parent 408410e commit ae27001
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 16 deletions.
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,11 @@ Gabungan Kata
roh Kudus; roh suci
```

Fitur khusus pengguna yang didukung saat ini adalah etimologi dan entri terkait
(kata turunan, gabungan kata, peribahasa, dan kiasan). Untuk mendapatkan
representasi `str`-nya tanpa fitur entri terkait, gunakan
Fitur khusus pengguna yang didukung saat ini adalah etimologi, entri terkait
(kata turunan, gabungan kata, peribahasa, dan kiasan), dan batas pencarian yang
lebih besar.

Untuk mendapatkan representasi `str`-nya tanpa fitur entri terkait, gunakan
`__str__(terkait=False)`.

```python
Expand All @@ -172,6 +174,10 @@ Etimologi: [Arab] (n) (sg) (f/m) رُوْحٌ rūh: tiupan; sesuatu yang membua
3. (n) (ki) semangat; spirit
```

Untuk menonaktifkan fitur khusus pengguna (selain batas pencarian yang lebih
besar), tambahkan argumen `fitur_pengguna=False` pada pemanggilan `__str__`
atau `serialisasi`.

Apabila ingin menyimpan kuki autentikasi, panggil *method* `simpan_kuki()` pada
objek `AutentikasiKBBI`.

Expand Down Expand Up @@ -248,8 +254,8 @@ Untuk menonaktifkan fitur entri terkait, gunakan `--tanpa-terkait` atau `-t`.
$ kbbi alam --tanpa-terkait
```

Untuk menonaktifkan semua fitur khusus pengguna (tanpa menghapus kuki), gunakan
`--nonpengguna` atau `-n`.
Untuk menonaktifkan semua fitur khusus pengguna (selain batas pencarian yang
lebih besar dan tanpa menghapus kuki), gunakan `--nonpengguna` atau `-n`.

```
$ kbbi alam --nonpengguna
Expand Down
26 changes: 15 additions & 11 deletions kbbi/kbbi.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,20 +97,22 @@ def _init_entri(self, laman):
estr = ""
estr += str(label).strip()

def serialisasi(self):
def serialisasi(self, fitur_pengguna=True):
"""Mengembalikan hasil serialisasi objek KBBI ini.
:returns: Dictionary hasil serialisasi
:rtype: dict
"""
return {
"pranala": self.pranala,
"entri": [entri.serialisasi() for entri in self.entri],
"entri": [
entri.serialisasi(fitur_pengguna) for entri in self.entri
],
}

def __str__(self, contoh=True, terkait=True):
def __str__(self, contoh=True, terkait=True, fitur_pengguna=True):
return "\n\n".join(
entri.__str__(contoh=contoh, terkait=terkait)
entri.__str__(contoh, terkait, fitur_pengguna)
for entri in self.entri
)

Expand Down Expand Up @@ -232,7 +234,7 @@ def _init_makna(self, entri):
makna = makna[:-terkait]
self.makna = [Makna(m) for m in makna]

def serialisasi(self):
def serialisasi(self, fitur_pengguna=True):
entri = {
"nama": self.nama,
"nomor": self.nomor,
Expand All @@ -242,7 +244,7 @@ def serialisasi(self):
"varian": self.varian,
"makna": [makna.serialisasi() for makna in self.makna],
}
if self.terautentikasi:
if self.terautentikasi and fitur_pengguna:
if self.etimologi is not None:
entri.update({"etimologi": self.etimologi.serialisasi()})
else:
Expand Down Expand Up @@ -291,18 +293,18 @@ def _terkait(self):
hasil += f"{head}\n{'; '.join(self.terkait[key])}"
return hasil

def __str__(self, contoh=True, terkait=True):
def __str__(self, contoh=True, terkait=True, fitur_pengguna=True):
hasil = self._nama()
if self.pelafalan:
hasil += f" {self.pelafalan}"
for var in (self.bentuk_tidak_baku, self.varian):
if var:
hasil += f"\n{self._varian(var)}"
if self.terautentikasi and self.etimologi:
if self.terautentikasi and fitur_pengguna and self.etimologi:
hasil += f"\nEtimologi: {self.etimologi}"
if self.makna:
hasil += f"\n{self._makna(contoh)}"
if self.terautentikasi and terkait:
if self.terautentikasi and fitur_pengguna and terkait:
hasil += self._terkait()
return hasil

Expand Down Expand Up @@ -733,9 +735,11 @@ def _parse_args_utama(args):

def _keluaran(laman, args):
if args.json:
return json.dumps(laman.serialisasi(), indent=args.indentasi)
return json.dumps(
laman.serialisasi(args.pengguna), indent=args.indentasi
)
else:
return laman.__str__(contoh=args.contoh, terkait=args.terkait)
return laman.__str__(args.contoh, args.terkait, args.pengguna)


def main(argv=None):
Expand Down

0 comments on commit ae27001

Please sign in to comment.