SWIG: Добавьте комментарии к сгенерированному файлу .py

Используя SWIG для создания интерфейса Python для приложения C ++, есть ли способ заставить его комментировать функции в сгенерированном .py файл? Я на самом деле втягиваю весь файл .h в файл.i, но для небольшого примера:

%module example

bool do_something_interesting(int number, string text);

swig -python example.i Генерирует:

...
def do_something_interesting(*args):
  return _example.do_something_interesting(*args)
do_something_interesting = _example.do_something_interesting

В идеале , я бы хотел, чтобы он автоматически добавлял комментарий с исходной сигнатурой метода

#bool do_something_interesting(int number, string text)
def do_something_interesting(*args):
  return _example.do_something_interesting(*args)
do_something_interesting = _example.do_something_interesting

Но я было бы идеально написать где-нибудь свой собственный комментарий (особенно, если бы комментарий каким-то образом мог быть в файле .h). Я подумал, что % pythonprepend может быть возможным решением, но он вставляет код внутри определения функции, а не перед ним.

РЕДАКТИРОВАТЬ: Вот что я нашел в файле .h. Не самое красивое, но годится:

#ifdef SWIG
   %pythonprepend do_something_interesting(int, string) %{
    """Do some interesting thing

    number:Int -- a number
    text:String -- some text

    """
  %}
#endif
bool do_something_interesting(int number, string text);
6
задан kylewm 3 November 2011 в 21:27
поделиться