Измените переменную в sphinx conf.py как часть команды сборки - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть проект Sphinx с conf.py, в котором я использую переменную для указания названия моего продукта, как показано ниже:

device_name = "ProductName"
rst_epilog = f".. |device_name| replace:: {device_name}"

Я хотел бы иметь возможность изменять значение ProductName во время моего процесс сборки как часть моего .bat файла, так как я собираю один и тот же проект дважды, по одному разу для каждого из моих двух продуктов:

sphinx-build  -t ce2 -b html -d _build_ce2/doctrees source _build_ce2/html -E
sphinx-build  -t ce1 -b html -d _build_ce1/doctrees source _build_ce1/html -E

Есть ли способ изменить переменную conf.py device_name непосредственно в команде сборки?

1 Ответ

0 голосов
/ 15 апреля 2020

Я решил эту проблему с помощью переменных окружения.

conf.py

# get environment variables (set as part of make .bat files)
env_device_name = os.getenv("DEVICENAME")

# set device name
if env_device_name != None:
    device_name = env_device_name
else:
    device_name = "CANedge2"  # default device name

make.bat

SET DEVICENAME=Product2
sphinx-build  -t ce2 -b html -d _build_ce2/doctrees source _build_ce2/html -E
SET DEVICENAME=Product1
sphinx-build  -t ce1 -b html -d _build_ce1/doctrees source _build_ce1/html -E
...