mirror of
https://github.com/Tencent/WeKnora.git
synced 2026-06-04 21:34:31 +08:00
- Added a new `.env.lite.example` file for the Lite version, providing a minimal configuration template. - Updated `.env.example` to remove deprecated variables and include new Docreader settings. - Enhanced Docker configurations to support the Lite version, including a new Dockerfile for the Docreader service. - Introduced a Makefile target for building and running the Lite version, along with packaging capabilities. - Created GitHub workflows for building and releasing Lite binaries, including Homebrew formula support. - Implemented a new service file for managing the Lite version as a system service. This update enables a streamlined, single-binary deployment of WeKnora, reducing external dependencies and simplifying setup.
29 lines
884 B
Python
29 lines
884 B
Python
import base64
|
|
import logging
|
|
import os
|
|
|
|
from docreader.models.document import Document
|
|
from docreader.parser.base_parser import BaseParser
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class ImageParser(BaseParser):
|
|
"""Parser for standalone image files.
|
|
|
|
Returns the image as a markdown reference with the raw image data
|
|
in Document.images so that the Go-side ImageResolver (or main.py's
|
|
_resolve_images) can handle storage upload.
|
|
"""
|
|
|
|
def parse_into_text(self, content: bytes) -> Document:
|
|
logger.info("Parsing image file=%s, size=%d bytes", self.file_name, len(content))
|
|
|
|
ext = os.path.splitext(self.file_name)[1].lower() or ".png"
|
|
ref_path = f"images/{self.file_name}"
|
|
|
|
text = f""
|
|
images = {ref_path: base64.b64encode(content).decode()}
|
|
|
|
return Document(content=text, images=images)
|