fix(codex-bridge): preserve tool model and stream preparation without Jev fallback
This commit is contained in:
1 parent
8fbbe226db
commit
3726d2a553
6 files changed
+118
-14
No files matched your search
@@ -13,6 +13,7 @@ import re
|
||||
import sys
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36"
|
||||
ARAMA = "https://html.duckduckgo.com/html/?"
|
||||
@@ -73,7 +74,21 @@ def ara(sorgu, adet=8, indirici=indir):
|
||||
sayfa, _ = indirici(ARAMA + urllib.parse.urlencode({"q": sorgu}))
|
||||
sonuc = sonuclari_coz(sayfa, adet)
|
||||
if not sonuc:
|
||||
return "Sonuç bulunamadı. Sorguyu daha kısa ya da farklı sözcüklerle yeniden dene."
|
||||
if 'no-results' in sayfa.lower() or 'no results found' in sayfa.lower():
|
||||
return "Sonuç bulunamadı. En fazla bir farklı sorgu deneyebilirsin."
|
||||
# DDG bot kontrolünü/bozuk HTML'yi sonuç yok diye göstermeyiz. Tek yedek istek.
|
||||
try:
|
||||
rss, _ = indirici('https://www.bing.com/search?' + urllib.parse.urlencode({'format': 'rss', 'q': sorgu}))
|
||||
kok = ET.fromstring(rss)
|
||||
if kok.tag != 'rss' or kok.find('channel') is None:
|
||||
raise ValueError('RSS arama yanıtı değil')
|
||||
sonuc = [(i.findtext('title') or '', i.findtext('link') or '', _duz(i.findtext('description') or ''))
|
||||
for i in kok.findall('./channel/item')
|
||||
if (i.findtext('link') or '').startswith(('https://', 'http://'))][:adet]
|
||||
except (ValueError, ET.ParseError, OSError) as hata:
|
||||
raise RuntimeError('Arama hizmeti engellendi veya yanıtı okunamadı; sorguları değiştirerek tekrar etme.') from hata
|
||||
if not sonuc:
|
||||
return "Sonuç bulunamadı. En fazla bir farklı sorgu deneyebilirsin."
|
||||
return "\n\n".join(f"{i}. {b}\n {a}\n {o}" for i, (b, a, o) in enumerate(sonuc, 1))
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user