v0.5.6
Example document / build (push) Has been cancelled
Python application / build (push) Has been cancelled

This commit is contained in:
Igor20264
2026-09-22 18:49:09 +03:00
parent 7fc112e2ce
commit daa84f8bce
21 changed files with 2761 additions and 23 deletions
+18 -4
View File
@@ -4,6 +4,7 @@ import sys
from .doc_metadata import AUTHOR_SOURCES, DEFAULT_DOC_COMMENTS
from .pipeline import ConvertRequest, convert, should_launch_gui
from .office import DEFAULT_OFFICE_ENGINE, OFFICE_ENGINE_MODES
from .profiles import (
DEFAULT_HEADING_NUMBERING,
DEFAULT_TABLE_CONTINUATION,
@@ -69,8 +70,8 @@ def build_parser() -> ArgumentParser:
default=DEFAULT_TABLE_CONTINUATION,
help=(
"Таблицы длиннее страницы: "
"word — после сохранения Word COM режет по реальной пагинации + «Продолжение…» "
"(по умолчанию; нужны Windows, Word, pywin32); "
"word — после сохранения режет по реальной пагинации + «Продолжение…» "
"(по умолчанию; движок: --office-engine auto|word|libre|openoffice); "
"off/soft — одна таблица, пагинация Word, без авто«Продолжение»; "
"legacy/caption — режем по оценке высоты и вставляем «Продолжение…» "
"(оценка ≠ Word, возможны артефакты). "
@@ -83,8 +84,8 @@ def build_parser() -> ArgumentParser:
default=DEFAULT_LISTING_CONTINUATION,
help=(
"Листинги длиннее страницы: "
"word — после сохранения Word COM + «Продолжение Листинга…» "
"(по умолчанию; нужны Windows, Word, pywin32); "
"word — после сохранения + «Продолжение Листинга…» "
"(по умолчанию; движок: --office-engine auto|word|libre|openoffice); "
"off/soft — один блок, пагинация Word, без авто«Продолжение»; "
"legacy/caption — режем по оценке высоты и вставляем «Продолжение Листинга…» "
"(оценка ≠ Word, возможны артефакты). "
@@ -100,6 +101,18 @@ def build_parser() -> ArgumentParser:
"после разрыва. По умолчанию выкл."
),
)
parser.add_argument(
"--office-engine",
choices=OFFICE_ENGINE_MODES,
default=DEFAULT_OFFICE_ENGINE,
help=(
"Движок пост-разрыва таблиц/листингов при --table-continuation word: "
"auto — Word, иначе LibreOffice, иначе OpenOffice; "
"word — только Microsoft Word COM (Windows + pywin32); "
"libre / openoffice — UNO Writer (soffice + program/python). "
f"По умолчанию: {DEFAULT_OFFICE_ENGINE}."
),
)
parser.add_argument(
"--emdash-to-hyphen",
action=BooleanOptionalAction,
@@ -280,6 +293,7 @@ def request_from_args(args) -> ConvertRequest:
table_continuation=args.table_continuation,
listing_continuation=args.listing_continuation,
table_repeat_header=bool(getattr(args, "table_repeat_header", False)),
office_engine=getattr(args, "office_engine", DEFAULT_OFFICE_ENGINE),
emdash_to_hyphen=args.emdash_to_hyphen,
hr_pagebreak=args.hr_pagebreak,
title=args.title,