Files
wehub-resource-sync 1443d3fdf9
Ruff Format Check / Ruff Format & Lint (push) Failing after 7m39s
Deploy VitePress site to Pages / build (push) Failing after 9m11s
Deploy VitePress site to Pages / Deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:26 +08:00

38 lines
1.1 KiB
Python

import os
from yuxi.utils.hash_utils import hashstr as hashstr
from yuxi.utils.logging_config import logger
def is_text_pdf(pdf_path):
import fitz
doc = fitz.open(pdf_path)
total_pages = len(doc)
if total_pages == 0:
return False
text_pages = 0
for page_num in range(total_pages):
page = doc.load_page(page_num)
text = page.get_text()
if text.strip(): # 检查是否有文本内容
text_pages += 1
# 计算有文本内容的页面比例
text_ratio = text_pages / total_pages
# 如果超过50%的页面有文本内容,则认为是文本PDF
return text_ratio > 0.5
def get_docker_safe_url(base_url):
if not base_url:
return base_url
if os.getenv("RUNNING_IN_DOCKER") == "true":
# 替换所有可能的本地地址形式
base_url = base_url.replace("http://localhost", "http://host.docker.internal")
base_url = base_url.replace("http://127.0.0.1", "http://host.docker.internal")
logger.info(f"Running in docker, using {base_url} as base url")
return base_url