Как использовать переносы строк из __doc__ в sphinx - PullRequest
0 голосов
/ 04 января 2019

в попытке повысить свою квалификацию в области кодирования, я хочу использовать sphinx для создания документации, как маленький домашний проект, который я начал. В этом проекте я использую sqlalchemy для связи с моей базой данных MySQL, которая была настроена с использованием рабочей среды MySQL. Во время настройки я также определил комментарии к каждой таблице.

Что я хотел бы сделать, так это включить комментарии к таблице в документацию, чтобы уточнить, что должна делать каждая таблица. Я использую автоматические функции SQLalchemy.

from sqlalchemy import Table, create_engine
from sqlalchemy.engine import reflection
from sqlalchemy.orm import create_session
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.engine.url import URL
from os import  path

# DBCONF is a loaded dict. Ommitted for clarity.
DBURL = URL(**DBCONF)

#Creat DB engine 
engine = create_engine(DBURL)
insp = reflection.Inspector.from_engine(engine)
Base = declarative_base(bind = engine)

#Example Table from the database.
class Temperature(Base):
    tablename = 'temperature'
    __table__ = Table(tablename, Base.metadata, autoload=True)
    __doc__ = insp.get_table_comment(tablename)['text']
    print(__doc__)

class Foo(object):
    """
    Foo 1

    Foo 2
    """
    print(__doc__)

class Bar(object):
    __doc__ = "Bar1 \n \nBar2"
    print(__doc__)

Выход из

print(__doc__)

являются:

DBLine1 \n \n DBLine2

    Foo 1

    Foo 2

Bar1

Bar2

В документации по Foo и Bar все в порядке, но для объекта Temperature я получаю "DBLine1 n n DBLine2". Нет перевода строки, нет \ n.

Есть идеи, откуда это может прийти? Возможно набор символов Базы данных?

Это действительно хорошая идея делать то, что я намерен? Я начинаю сомневаться в этом.

...