py2ls 0.1.5.8__py3-none-any.whl → 0.1.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
py2ls/.DS_Store CHANGED
Binary file
py2ls/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- update
1
+ update ips
py2ls/.git/FETCH_HEAD CHANGED
@@ -1 +1 @@
1
- bf67907e337021ebff434e02b19b30a741c144af branch 'main' of https://github.com/Jianfengliu0413/py2ls
1
+ a15389729850729fc7bd78a54f26fce77f30be12 branch 'main' of https://github.com/Jianfengliu0413/py2ls
py2ls/.git/index CHANGED
Binary file
py2ls/.git/logs/HEAD CHANGED
@@ -17,3 +17,4 @@ c120fc812b9ad311c34a3608512d6a9d976bb48e d84688b54c0040a30976b3a6540bc47adf7ce68
17
17
  d84688b54c0040a30976b3a6540bc47adf7ce680 32fd627b62fad7cf3b2f9e34ab9777126a0987ad Jianfeng <Jianfeng.Liu0413@gmail.com> 1720708531 +0200 commit: translator update
18
18
  32fd627b62fad7cf3b2f9e34ab9777126a0987ad 1c3f92adda34344bcbbbf9d409c79855ae2aaea8 Jianfeng <Jianfeng.Liu0413@gmail.com> 1720709655 +0200 commit: Delete dbhandler.py
19
19
  1c3f92adda34344bcbbbf9d409c79855ae2aaea8 bf67907e337021ebff434e02b19b30a741c144af Jianfeng <Jianfeng.Liu0413@gmail.com> 1720948339 +0200 commit: update
20
+ bf67907e337021ebff434e02b19b30a741c144af a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng <Jianfeng.Liu0413@gmail.com> 1721137352 +0200 commit: update ips
@@ -17,3 +17,4 @@ c120fc812b9ad311c34a3608512d6a9d976bb48e d84688b54c0040a30976b3a6540bc47adf7ce68
17
17
  d84688b54c0040a30976b3a6540bc47adf7ce680 32fd627b62fad7cf3b2f9e34ab9777126a0987ad Jianfeng <Jianfeng.Liu0413@gmail.com> 1720708531 +0200 commit: translator update
18
18
  32fd627b62fad7cf3b2f9e34ab9777126a0987ad 1c3f92adda34344bcbbbf9d409c79855ae2aaea8 Jianfeng <Jianfeng.Liu0413@gmail.com> 1720709655 +0200 commit: Delete dbhandler.py
19
19
  1c3f92adda34344bcbbbf9d409c79855ae2aaea8 bf67907e337021ebff434e02b19b30a741c144af Jianfeng <Jianfeng.Liu0413@gmail.com> 1720948339 +0200 commit: update
20
+ bf67907e337021ebff434e02b19b30a741c144af a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng <Jianfeng.Liu0413@gmail.com> 1721137352 +0200 commit: update ips
@@ -48,3 +48,78 @@ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144a
48
48
  bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720958208 +0200 remote set-head
49
49
  bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720960171 +0200 remote set-head
50
50
  bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720962134 +0200 remote set-head
51
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720964097 +0200 remote set-head
52
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720965917 +0200 remote set-head
53
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720967880 +0200 remote set-head
54
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720970455 +0200 remote set-head
55
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720972867 +0200 remote set-head
56
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720976483 +0200 remote set-head
57
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720979266 +0200 remote set-head
58
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720981230 +0200 remote set-head
59
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720983188 +0200 remote set-head
60
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720985088 +0200 remote set-head
61
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720987051 +0200 remote set-head
62
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720989014 +0200 remote set-head
63
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720990977 +0200 remote set-head
64
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720993717 +0200 remote set-head
65
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720995886 +0200 remote set-head
66
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1720999138 +0200 remote set-head
67
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721002355 +0200 remote set-head
68
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721005253 +0200 remote set-head
69
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721008577 +0200 remote set-head
70
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721010559 +0200 remote set-head
71
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721012522 +0200 remote set-head
72
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721016655 +0200 remote set-head
73
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721020130 +0200 remote set-head
74
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721022287 +0200 remote set-head
75
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721024196 +0200 remote set-head
76
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721032761 +0200 remote set-head
77
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721034724 +0200 remote set-head
78
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721036687 +0200 remote set-head
79
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721038650 +0200 remote set-head
80
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721040613 +0200 remote set-head
81
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721042576 +0200 remote set-head
82
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721044539 +0200 remote set-head
83
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721046502 +0200 remote set-head
84
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721048465 +0200 remote set-head
85
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721050428 +0200 remote set-head
86
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721052391 +0200 remote set-head
87
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721054355 +0200 remote set-head
88
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721072801 +0200 remote set-head
89
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721074765 +0200 remote set-head
90
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.local> 1721076729 +0200 remote set-head
91
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.local> 1721078693 +0200 remote set-head
92
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.local> 1721080657 +0200 remote set-head
93
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721096134 +0200 remote set-head
94
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721119831 +0200 remote set-head
95
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721121794 +0200 remote set-head
96
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721123757 +0200 remote set-head
97
+ bf67907e337021ebff434e02b19b30a741c144af bf67907e337021ebff434e02b19b30a741c144af Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721125799 +0200 remote set-head
98
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721137355 +0200 remote set-head
99
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721203451 +0200 remote set-head
100
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721205415 +0200 remote set-head
101
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721207379 +0200 remote set-head
102
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721209343 +0200 remote set-head
103
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721211307 +0200 remote set-head
104
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721213271 +0200 remote set-head
105
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721215235 +0200 remote set-head
106
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721217199 +0200 remote set-head
107
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721219522 +0200 remote set-head
108
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721221486 +0200 remote set-head
109
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721223450 +0200 remote set-head
110
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721225414 +0200 remote set-head
111
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721227378 +0200 remote set-head
112
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721229342 +0200 remote set-head
113
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721246120 +0200 remote set-head
114
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721248085 +0200 remote set-head
115
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721263413 +0200 remote set-head
116
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@jflmbp.speedport.ip> 1721283126 +0200 remote set-head
117
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721286650 +0200 remote set-head
118
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721288614 +0200 remote set-head
119
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721290578 +0200 remote set-head
120
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721292542 +0200 remote set-head
121
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721294506 +0200 remote set-head
122
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721296470 +0200 remote set-head
123
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721298434 +0200 remote set-head
124
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721300398 +0200 remote set-head
125
+ a15389729850729fc7bd78a54f26fce77f30be12 a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng Liu <macjianfeng@JFLMBP.cin.medizin.uni-tuebingen.de> 1721302501 +0200 remote set-head
@@ -16,3 +16,4 @@ c120fc812b9ad311c34a3608512d6a9d976bb48e d84688b54c0040a30976b3a6540bc47adf7ce68
16
16
  d84688b54c0040a30976b3a6540bc47adf7ce680 32fd627b62fad7cf3b2f9e34ab9777126a0987ad Jianfeng <Jianfeng.Liu0413@gmail.com> 1720708534 +0200 update by push
17
17
  32fd627b62fad7cf3b2f9e34ab9777126a0987ad 1c3f92adda34344bcbbbf9d409c79855ae2aaea8 Jianfeng <Jianfeng.Liu0413@gmail.com> 1720709657 +0200 update by push
18
18
  1c3f92adda34344bcbbbf9d409c79855ae2aaea8 bf67907e337021ebff434e02b19b30a741c144af Jianfeng <Jianfeng.Liu0413@gmail.com> 1720948342 +0200 update by push
19
+ bf67907e337021ebff434e02b19b30a741c144af a15389729850729fc7bd78a54f26fce77f30be12 Jianfeng <Jianfeng.Liu0413@gmail.com> 1721137354 +0200 update by push
@@ -0,0 +1 @@
1
+ x+)JMU�00`040031Q�s �.�/Je���
@@ -1 +1 @@
1
- bf67907e337021ebff434e02b19b30a741c144af
1
+ a15389729850729fc7bd78a54f26fce77f30be12
@@ -1 +1 @@
1
- bf67907e337021ebff434e02b19b30a741c144af
1
+ a15389729850729fc7bd78a54f26fce77f30be12
py2ls/chat.py ADDED
@@ -0,0 +1,124 @@
1
+ import os
2
+ from datetime import datetime
3
+ import time
4
+ from duckduckgo_search import AsyncDDGS
5
+ import asyncio
6
+ import concurrent.futures
7
+ from pprint import pp
8
+
9
+ dir_save = '/Users/macjianfeng/Dropbox/Downloads/'
10
+
11
+ async def fupdate(fpath, content=None):
12
+ content = content or ""
13
+ if os.path.exists(fpath):
14
+ with open(fpath, 'r') as file:
15
+ old_content = file.read()
16
+ else:
17
+ old_content = ''
18
+
19
+ with open(fpath, 'w') as file:
20
+ file.write(content)
21
+ file.write(old_content)
22
+
23
+ async def echo_einmal(*args, **kwargs):
24
+ """
25
+ query, model="gpt", verbose=True, log=True, dir_save=dir_save
26
+ """
27
+ global dir_save
28
+
29
+ query = None
30
+ model = kwargs.get('model', 'gpt')
31
+ verbose = kwargs.get('verbose', True)
32
+ log = kwargs.get('log', True)
33
+ dir_save = kwargs.get('dir_save', dir_save)
34
+
35
+ for arg in args:
36
+ if isinstance(arg, str):
37
+ if os.path.isdir(arg):
38
+ dir_save = arg
39
+ elif len(arg) <= 5:
40
+ model = arg
41
+ else:
42
+ query = arg
43
+ elif isinstance(arg, dict):
44
+ verbose = arg.get("verbose", verbose)
45
+ log = arg.get("log", log)
46
+
47
+ def is_in_any(str_candi_short, str_full, ignore_case=True):
48
+ if isinstance(str_candi_short, str):
49
+ str_candi_short = [str_candi_short]
50
+ res_bool = []
51
+ if ignore_case:
52
+ [res_bool.append(i in str_full.lower()) for i in str_candi_short]
53
+ else:
54
+ [res_bool.append(i in str_full) for i in str_candi_short]
55
+ return any(res_bool)
56
+
57
+ def valid_mod_name(str_fly):
58
+ if is_in_any(str_fly, "claude-3-haiku"):
59
+ return "claude-3-haiku"
60
+ elif is_in_any(str_fly, "gpt-3.5"):
61
+ return "gpt-3.5"
62
+ elif is_in_any(str_fly, "llama-3-70b"):
63
+ return "llama-3-70b"
64
+ elif is_in_any(str_fly, "mixtral-8x7b"):
65
+ return "mixtral-8x7b"
66
+ else:
67
+ print(f"not support your model {model}, supported models: 'claude','gpt(default)', 'llama','mixtral'")
68
+ return "gpt-3.5" # default model
69
+
70
+ model_valid = valid_mod_name(model)
71
+
72
+ async def run_ddgs_chat(query, model_valid):
73
+ async with AsyncDDGS() as ddgs:
74
+ loop = asyncio.get_running_loop()
75
+ with concurrent.futures.ThreadPoolExecutor() as pool:
76
+ res = await loop.run_in_executor(pool, ddgs.chat, query, model_valid)
77
+ return res
78
+
79
+ res = await run_ddgs_chat(query, model_valid)
80
+
81
+ if verbose:
82
+ print("\n") # add a newline
83
+ pp(res)
84
+ # print(res)
85
+
86
+ if log:
87
+ dt_str = datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d_%H:%M:%S')
88
+ res_ = f"\n\n#### Q: {query}\n\n##### Ans: {dt_str}\n\n> {res}\n"
89
+ if bool(os.path.basename(dir_save)):
90
+ fpath = dir_save
91
+ else:
92
+ os.makedirs(dir_save, exist_ok=True)
93
+ fpath = os.path.join(dir_save, "log_ai.md")
94
+ await fupdate(fpath=fpath, content=res_)
95
+ print(f"log file: {fpath}")
96
+
97
+ return res
98
+
99
+ async def echo(*args, **kwargs):
100
+ while True:
101
+ try:
102
+ print("\nEnter your query (or 'quit' to stop): ")
103
+ query = input()
104
+ if query.lower() == 'quit':
105
+ break
106
+ response = await echo_einmal(query, *args, **kwargs)
107
+ except Exception as e:
108
+ print(f"Error: {e}")
109
+ break
110
+ await asyncio.sleep(0.5)
111
+ def chat(*args, **kwargs):
112
+ return echo_einmal(*args, **kwargs)
113
+
114
+ def ai(*args, **kwargs):
115
+ return echo_einmal(*args, **kwargs)
116
+
117
+ async def ai(*args, **kwargs):
118
+ return echo_einmal(*args, **kwargs)
119
+
120
+ async def main():
121
+ await echo(log=1)
122
+
123
+ if __name__ == "__main__":
124
+ asyncio.run(main())