.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searchcode_code.py
Go to the documentation of this file.
1
"""Searchcode (IT)"""
2
3
from
__future__
import
annotations
4
5
import
typing
as
t
6
7
from
urllib.parse
import
urlencode
8
9
from
searx.result_types
import
EngineResults
10
from
searx.extended_types
import
SXNG_Response
11
12
# about
13
about = {
14
"website"
:
"https://searchcode.com/"
,
15
"wikidata_id"
:
None
,
16
"official_api_documentation"
:
"https://searchcode.com/api/"
,
17
"use_official_api"
:
True
,
18
"require_api_key"
:
False
,
19
"results"
:
"JSON"
,
20
}
21
22
# engine dependent config
23
categories = [
"it"
]
24
search_api =
"https://searchcode.com/api/codesearch_I/?"
25
26
# paging is broken in searchcode.com's API .. not sure it will ever been fixed
27
# paging = True
28
29
30
def
request
(query: str, params: dict[str, t.Any]) ->
None
:
31
args = {
32
"q"
: query,
33
# paging is broken in searchcode.com's API
34
# "p": params["pageno"] - 1,
35
# "per_page": 10,
36
}
37
38
params[
"url"
] = search_api + urlencode(args)
39
logger.debug(
"query_url --> %s"
, params[
"url"
])
40
41
42
def
response
(resp: SXNG_Response) -> EngineResults:
43
res =
EngineResults
()
44
45
# parse results
46
for
result
in
resp.json().get(
"results"
, []):
47
lines = {}
48
for
line, code
in
result[
"lines"
].items():
49
lines[int(line)] = code
50
51
res.add(
52
res.types.Code(
53
url=result[
"url"
],
54
title=f
'{result["name"]} - {result["filename"]}'
,
55
repository=result[
"repo"
],
56
filename=result[
"filename"
],
57
codelines=sorted(lines.items()),
58
strip_whitespace=
True
,
59
)
60
)
61
62
return
res
searx.result_types.EngineResults
Definition
__init__.py:64
searx.engines.searchcode_code.response
EngineResults response(SXNG_Response resp)
Definition
searchcode_code.py:42
searx.engines.searchcode_code.request
None request(str query, dict[str, t.Any] params)
Definition
searchcode_code.py:30
searx.extended_types
Definition
extended_types.py:1
searx.result_types
Definition
__init__.py:1
searxng
searx
engines
searchcode_code.py
Generated on
for .oO SearXNG Developer Documentation Oo. by
1.14.0