сбросить или отключить текущий модуль для некоторых атрибутов - PullRequest
0 голосов
/ 07 мая 2018

Я пишу некоторую документацию, в которой я перечисляю атрибуты, которые объект типа «утка» должен иметь для выполнения определенного интерфейса. Я пытался сделать что-то вроде этого:

List of required attributes:

.. py:attribute:: x

   The x-coordinate, as a :py:class:`float`.

.. py:attribute:: y

   The y-coordinate, as a :py:class:`float`.

Я ожидаю получить список атрибутов с описаниями, но вместо простых имен документация заканчивается именами, которые содержат предыдущую директиву .. py:currentmodule. Поэтому вместо x я получаю my.current.module.x.

Есть ли способ сделать одно из следующих действий:

  1. Выключить .. py:currentmodule::. Я попытался установить для нее пустую строку, а также ., но это только сгенерировало предупреждение и продолжало использовать предыдущее значение.
  2. Настроить сгенерированные имена атрибутов так, чтобы модуль не включался в имя (желательно также в ссылку).

Я бы предпочел вариант № 2, потому что у меня фактически есть ссылки на объекты в текущем модуле в документации, поэтому было бы неплохо пояснить, что эти атрибуты отсутствуют в модуле без фактического изменения текущего модуля.

В настоящее время мой обходной путь - временно установить .. py:currentmodule:: duck и восстановить после этого сегмента.

Я также пытался написать документацию атрибута как .. py:attribute:: ~x, .. py:attribute:: !x и .. py:attribute:: .x. Во всех случаях используется специальный символ в имени, и первые два не в состоянии создать привязки к атрибутам.

...