(knowledge_id, user_id, selector)
| 15 | |
| 16 | |
| 17 | def 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 | |
| 44 | def get_sync_handler(knowledge_id, user_id): |
no outgoing calls
no test coverage detected