Sphinx autodo c: наследование строк документации без наследования класса - PullRequest
0 голосов
/ 27 мая 2020

У меня есть два класса, которые совместно используют API посредством утиной печати, но не разделяют наследования:

class A:
    def method():
        """Does something."""
        pass

class B:
    def method():
        pass

Я написал строки документации для A, но не B. Поскольку эти два класса имеют одинаковую семантику API, их строки документации в основном совпадают. Я не хочу sh повторять одни и те же строки документации в двух разных местах.

Если B унаследовано от A, тогда autodo c имеет инструменты для наследования строк документации родительского класса, но я не Я хочу, чтобы B наследовал от A.

Я мог бы заставить оба класса наследовать от abc.ABC абстрактного класса и поместить туда строки документации, но это было бы много добавленного кода без всякой цели, кроме чем документация.

Есть ли способ указать autodo c копировать строки документации из другого класса?

1 Ответ

2 голосов
/ 10 июля 2020

Я не уверен, что вы можете указать autodo c, чтобы сделать это, но вы можете скопировать это в коде:

class A:
    def method():
        """Does something."""
        pass

class B:
    def method():
        pass
    method.__doc__ = A.method.__doc__
...