MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / get_save_handler

Function get_save_handler

apps/knowledge/task/handler.py:17–41  ·  view source on GitHub ↗
(knowledge_id, user_id, selector)

Source from the content-addressed store, hash-verified

15
16
17def get_save_handler(knowledge_id, user_id, selector):
18 from knowledge.serializers.document import DocumentSerializers
19
20 def handler(child_link: ChildLink, response: Fork.Response):
21 if response.status == 200:
22 try:
23 document_name = (
24 child_link.tag.text
25 if child_link.tag is not None and len(child_link.tag.text.strip()) > 0
26 else child_link.url
27 )
28 paragraphs = get_split_model("web.md").parse(response.content)
29 DocumentSerializers.Create(data={"knowledge_id": knowledge_id, "user_id": user_id}).save(
30 {
31 "name": document_name,
32 "paragraphs": paragraphs,
33 "meta": {"source_url": child_link.url, "selector": selector},
34 "type": KnowledgeType.WEB,
35 },
36 with_valid=True,
37 )
38 except Exception as e:
39 maxkb_logger.error(f"{str(e)}:{traceback.format_exc()}")
40
41 return handler
42
43
44def get_sync_handler(knowledge_id, user_id):

Callers 1

sync_web_knowledgeFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected