v0.5.2
Python application / build (push) Waiting to run

Что то сделал
This commit is contained in:
Igor20264
2026-09-08 19:37:54 +03:00
parent 1a5b35eb54
commit 510f7e7adf
90 changed files with 11720 additions and 5547 deletions
+82 -2
View File
@@ -2,6 +2,7 @@
from argparse import ArgumentParser, BooleanOptionalAction
import sys
from .doc_metadata import AUTHOR_SOURCES, DEFAULT_DOC_COMMENTS
from .pipeline import ConvertRequest, convert, should_launch_gui
from .profiles import (
DEFAULT_HEADING_NUMBERING,
@@ -23,12 +24,13 @@ def build_parser() -> ArgumentParser:
"Генерация DOCX-отчётов из Markdown по ТЗ МИРЭА / ГОСТ. "
"Типы: coursework/practice/vkr, APID_coursework, PIS_custom. "
"Без файла или с --gui открывается окно. "
"DOCX → Markdown: python -m word2md файл.docx (или md2gost файл.docx). "
"FODT: python -m md2fodt …"
),
)
parser.add_argument(
"filename", nargs="?",
help="Путь до .md (или .docx с --check-pages). Без файла открывается GUI",
help="Путь до .md (сборка DOCX), .docx (импорт в Markdown) или .docx с --check-pages",
)
parser.add_argument(
"--gui", action="store_true",
@@ -116,8 +118,75 @@ def build_parser() -> ArgumentParser:
"По умолчанию такие строки игнорируются; включить: --hr-pagebreak."
),
)
parser.add_argument("--title", help="DOCX титульного листа (вставляется перед телом)")
parser.add_argument("--title", help="DOCX титульного листа (вставляется перед телом; "
"отключает автогенерацию)")
parser.add_argument(
"--auto-title",
action=BooleanOptionalAction,
default=False,
help=(
"Сгенерировать титул из info_conv.yaml / блока ```title (нужны ФИО и группа). "
"По умолчанию выкл.; включить: --auto-title. Явный --title отключает генератор."
),
)
parser.add_argument("--assignment", help="DOCX бланка задания")
parser.add_argument(
"--student",
help="ФИО студента для автотитула (иначе md2gost.user.json)",
)
parser.add_argument(
"--group",
help="Учебная группа для автотитула (иначе md2gost.user.json)",
)
parser.add_argument(
"--doc-author-from",
choices=AUTHOR_SOURCES,
default=None,
help=(
"Автор в свойствах DOCX: os — имя пользователя ОС; "
"student — ФИО из профиля; custom — --doc-author / md2gost.user.json. "
"Иначе берётся из Настройки → Метаданные (по умолчанию os)."
),
)
parser.add_argument(
"--doc-author",
default=None,
help="Автор в свойствах DOCX (перебивает --doc-author-from)",
)
parser.add_argument(
"--doc-last-modified-by",
default=None,
help="Поле «Кем изменён» в свойствах DOCX; пусто — как автор",
)
parser.add_argument(
"--doc-title",
default=None,
help="Название в свойствах DOCX (File → Info)",
)
parser.add_argument(
"--doc-subject",
default=None,
help="Тема в свойствах DOCX",
)
parser.add_argument(
"--doc-keywords",
default=None,
help="Ключевые слова (теги) в свойствах DOCX",
)
parser.add_argument(
"--doc-comments",
default=None,
help=(
"Примечание в свойствах DOCX. "
f"По умолчанию: «{DEFAULT_DOC_COMMENTS}». "
"Пустая строка — не писать примечание."
),
)
parser.add_argument(
"--doc-category",
default=None,
help="Категория в свойствах DOCX",
)
parser.add_argument("--check", help="Проверить markdown по ТЗ и вывести отчёт",
action="store_true")
parser.add_argument("--check-only", help="Только проверка, без генерации документа",
@@ -215,6 +284,17 @@ def request_from_args(args) -> ConvertRequest:
hr_pagebreak=args.hr_pagebreak,
title=args.title,
assignment=args.assignment,
student=getattr(args, "student", None),
group=getattr(args, "group", None),
doc_author_source=getattr(args, "doc_author_from", None),
doc_author=getattr(args, "doc_author", None),
doc_last_modified_by=getattr(args, "doc_last_modified_by", None),
doc_title=getattr(args, "doc_title", None),
doc_subject=getattr(args, "doc_subject", None),
doc_keywords=getattr(args, "doc_keywords", None),
doc_comments=getattr(args, "doc_comments", None),
doc_category=getattr(args, "doc_category", None),
auto_title=bool(getattr(args, "auto_title", False)),
check=args.check,
check_only=args.check_only,
check_pages=bool(getattr(args, "check_pages", False)),