1
1
# -*- coding: utf-8 -*-
2
2
from urllib .parse import quote
3
- from urllib .request import urlopen
3
+ from urllib .request import Request , urlopen
4
4
from json import loads
5
5
6
6
from rich import box
7
7
from rich .table import Table
8
- from rich .console import Console
9
8
from rich import print
10
9
11
10
@@ -14,25 +13,63 @@ def __init__(self, word):
14
13
self .word = word
15
14
# gts, bati, tarama, derleme, atasozu, kilavuz, lehceler
16
15
url = "https://sozluk.gov.tr/gts?ara=" + quote (word )
17
- self .data = loads (urlopen (url ).read ())
16
+ req = Request (url , headers = {"User-Agent" : "Mozilla/5.0" })
17
+ self .data = loads (urlopen (req ).read ())
18
+ # print(self.data)
18
19
if "error" in self .data :
19
- print ("Error" )
20
+ print (self . data [ "error" ] )
20
21
exit ()
21
22
22
23
def rich (self ):
23
24
data = self .data
24
25
word = self .word
25
- table = Table (title = word + " - TDK" , show_header = False , box = box .SQUARE )
26
26
for i in range (len (data )):
27
+ table = Table (
28
+ box = box .ROUNDED ,
29
+ show_footer = (
30
+ True
31
+ if ("atasozu" in data [i ]) or (data [i ]["birlesikler" ] != None )
32
+ else False
33
+ ),
34
+ footer_style = "grey62" ,
35
+ )
36
+ table .add_column (
37
+ "[cyan]❯ "
38
+ + data [i ]["madde" ]
39
+ + (
40
+ " (" + data [i ]["anlam_gor" ] + ")"
41
+ if (len (data ) > 1 and data [i ]["anlam_gor" ] != "0" )
42
+ else ""
43
+ )
44
+ + "[/cyan]" ,
45
+ (
46
+ (
47
+ "Atasözleri, Deyimler veya Birleşik Fiiller:\n "
48
+ + str ([i ["madde" ] for i in data [i ]["atasozu" ]])[1 :- 1 ]
49
+ if "atasozu" in data [i ]
50
+ else ""
51
+ )
52
+ + (
53
+ "\n \n "
54
+ if ("atasozu" in data [i ]) and (data [i ]["birlesikler" ] != None )
55
+ else ""
56
+ )
57
+ + (
58
+ ("Birleşik Kelimeler:\n " ) + data [i ]["birlesikler" ]
59
+ if data [i ]["birlesikler" ] != None
60
+ else ""
61
+ )
62
+ ),
63
+ )
27
64
# lang
28
65
if data [i ]["lisan" ] != "" :
29
- table .add_row (data [i ]["lisan" ] + ":" )
66
+ table .add_row (data [i ]["lisan" ])
30
67
else :
31
68
# suffix
32
69
if data [i ]["taki" ] != None :
33
- table .add_row (word + ", " + data [i ]["taki" ] + ":" )
34
- else :
35
- table .add_row (word + ":" )
70
+ table .add_row (word + ", " + data [i ]["taki" ])
71
+ elif ( data [ i ][ "telaffuz" ] != None ) and ( data [ i ][ "ozel_mi" ] == "1" ) :
72
+ table .add_row ("özel, " + data [ i ][ "telaffuz" ] )
36
73
for j in range (len (data [i ]["anlamlarListe" ])):
37
74
# meaning
38
75
table .add_row (
@@ -47,9 +84,9 @@ def rich(self):
47
84
+ "”"
48
85
)
49
86
# space after each item except last one
50
- if len (data ) > 1 and i != range (len (data ))[1 ]:
51
- table .add_row ("" )
52
- print (table )
87
+ # if len(data) > 1 and i != range(len(data))[1]:
88
+ # table.add_row("")
89
+ print (table )
53
90
54
91
def plain (self ):
55
92
data = self .data
0 commit comments