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

Function get_sync_web_document_handler

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

Source from the content-addressed store, hash-verified

77
78
79def get_sync_web_document_handler(knowledge_id, user_id):
80 from knowledge.serializers.document import DocumentSerializers
81
82 def handler(source_url: str, selector, response: Fork.Response):
83 if response.status == 200:
84 try:
85 paragraphs = get_split_model("web.md").parse(response.content)
86 # 插入
87 DocumentSerializers.Create(data={"knowledge_id": knowledge_id, "user_id": user_id}).save(
88 {
89 "name": source_url[0:128],
90 "paragraphs": paragraphs,
91 "meta": {"source_url": source_url, "selector": selector},
92 "type": KnowledgeType.WEB,
93 },
94 with_valid=True,
95 )
96 except Exception as e:
97 maxkb_logger.error(f"{str(e)}:{traceback.format_exc()}")
98 else:
99 Document(
100 name=source_url[0:128],
101 knowledge_id=knowledge_id,
102 meta={"source_url": source_url, "selector": selector, "allow_download": True},
103 type=KnowledgeType.WEB,
104 char_length=0,
105 status=State.FAILURE,
106 ).save()
107
108 return handler
109
110
111def save_problem(knowledge_id, document_id, paragraph_id, problem):

Callers 1

sync_web_documentFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected