From 1de37e4c65ba5ee907ad747f884bb78bc018254e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=B0=8F=E8=92=99?= Date: Tue, 4 Jun 2024 11:15:52 +0800 Subject: [PATCH] add version_name to middle json --- magic_pdf/libs/commons.py | 13 ----------- magic_pdf/libs/version.py | 1 + magic_pdf/user_api.py | 8 +++---- setup.py | 49 ++++++++++++++++++++++++++++----------- 4 files changed, 41 insertions(+), 30 deletions(-) create mode 100644 magic_pdf/libs/version.py diff --git a/magic_pdf/libs/commons.py b/magic_pdf/libs/commons.py index ffe69e86..15592dbf 100644 --- a/magic_pdf/libs/commons.py +++ b/magic_pdf/libs/commons.py @@ -13,19 +13,6 @@ # import fitz_old as fitz # 使用1.23.9之前的pymupdf库 -def get_version(): - command = ["git", "describe", "--tags"] - try: - version = subprocess.check_output(command).decode().strip() - version_parts = version.split("-") - if len(version_parts) > 1 and version_parts[0].startswith("magic_pdf"): - return version_parts[1] - else: - raise ValueError(f"Invalid version tag {version}. Expected format is magic_pdf--released.") - except Exception as e: - print(e) - return "0.0.0" - def get_delta_time(input_time): return round(time.time() - input_time, 2) diff --git a/magic_pdf/libs/version.py b/magic_pdf/libs/version.py new file mode 100644 index 00000000..6c8e6b97 --- /dev/null +++ b/magic_pdf/libs/version.py @@ -0,0 +1 @@ +__version__ = "0.0.0" diff --git a/magic_pdf/user_api.py b/magic_pdf/user_api.py index 8f58b314..a5472085 100644 --- a/magic_pdf/user_api.py +++ b/magic_pdf/user_api.py @@ -16,7 +16,7 @@ from loguru import logger -from magic_pdf.libs.commons import get_version +from magic_pdf.libs.version import __version__ from magic_pdf.rw import AbsReaderWriter from magic_pdf.pdf_parse_by_ocr_v2 import parse_pdf_by_ocr from magic_pdf.pdf_parse_by_txt_v2 import parse_pdf_by_txt @@ -39,7 +39,7 @@ def parse_txt_pdf(pdf_bytes: bytes, pdf_models: list, imageWriter: AbsReaderWrit pdf_info_dict["_parse_type"] = PARSE_TYPE_TXT - pdf_info_dict["_version_name"] = get_version() + pdf_info_dict["_version_name"] = __version__ return pdf_info_dict @@ -59,7 +59,7 @@ def parse_ocr_pdf(pdf_bytes: bytes, pdf_models: list, imageWriter: AbsReaderWrit pdf_info_dict["_parse_type"] = PARSE_TYPE_OCR - pdf_info_dict["_version_name"] = get_version() + pdf_info_dict["_version_name"] = __version__ return pdf_info_dict @@ -122,6 +122,6 @@ def calculate_not_printable_rate(text): else: pdf_info_dict["_parse_type"] = PARSE_TYPE_TXT - pdf_info_dict["_version_name"] = get_version() + pdf_info_dict["_version_name"] = __version__ return pdf_info_dict diff --git a/setup.py b/setup.py index 721d2a52..7fda79d1 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,7 @@ -from setuptools import setup, find_packages +import os +import subprocess -from magic_pdf.libs.commons import get_version +from setuptools import setup, find_packages def parse_requirements(filename): @@ -19,14 +20,36 @@ def parse_requirements(filename): return requires - -setup( - name="magic_pdf", # 项目名 - version=get_version(), # 自动从tag中获取版本号 - packages=find_packages(), # 包含所有的包 - install_requires=parse_requirements('requirements.txt'), # 项目依赖的第三方库 - python_requires=">=3.9", # 项目依赖的 Python 版本 - # entry_points={"console_scripts": ["my_command=my_project.main:run"]}, # 项目提供的可执行命令 - include_package_data=True, # 是否包含非代码文件,如数据文件、配置文件等 - zip_safe=False, # 是否使用 zip 文件格式打包,一般设为 False -) +def get_version(): + command = ["git", "describe", "--tags"] + try: + version = subprocess.check_output(command).decode().strip() + version_parts = version.split("-") + if len(version_parts) > 1 and version_parts[0].startswith("magic_pdf"): + return version_parts[1] + else: + raise ValueError(f"Invalid version tag {version}. Expected format is magic_pdf--released.") + except Exception as e: + print(e) + return "0.0.0" + + +def write_version_to_commons(version): + commons_path = os.path.join(os.path.dirname(__file__), 'magic_pdf', 'libs', 'version.py') + with open(commons_path, 'w') as f: + f.write(f'__version__ = "{version}"\n') + + +if __name__ == '__main__': + version_name = get_version() + write_version_to_commons(version_name) + setup( + name="magic_pdf", # 项目名 + version=version_name, # 自动从tag中获取版本号 + packages=find_packages(), # 包含所有的包 + install_requires=parse_requirements('requirements.txt'), # 项目依赖的第三方库 + python_requires=">=3.9", # 项目依赖的 Python 版本 + # entry_points={"console_scripts": ["my_command=my_project.main:run"]}, # 项目提供的可执行命令 + include_package_data=True, # 是否包含非代码文件,如数据文件、配置文件等 + zip_safe=False, # 是否使用 zip 文件格式打包,一般设为 False + )