Я хочу добиться динамического вызова функции и создания мне строки документации и ее применения для методов класса, которые мне нужны.
Ниже приведен пример того, что у меня есть и чего я хочу достичь , для каждого метода у меня есть строка документации, которая начинается с тройных кавычек
В настоящее время есть следующие
class MyClass(BaseHandler, ABC):
def initialize(self, *args, **kwargs):
super(MyClass, self).initialize(*args, **kwargs)
self.description = 'My Class'
@authenticated()
@coroutine
def get(self):
"""
<div>Method GET</div>
<div>Description: retrieve list My Class</div>
"""
# some code here
self.write({
'success': True,
'data': self.description
})
@authenticated()
@coroutine
def post(self):
"""
<div>Method POST</div>
<div>Description: update item My Class</div>
"""
# some code here
self.write({
'success': True,
'data': self.description
})
Внутри каждого метода, который у меня есть строка документации жестко запрограммирована и работает нормально, но я хочу добиться, чтобы вставить строку документации с помощью функции.
Желаемый результат
def generate_docstring(name, method):
docstring = """
<div>Method %s</div>
<div>Description: retrieve list %s</div>
""" % (method, name)
return docstring
class MyClass(BaseHandler, ABC):
def initialize(self, *args, **kwargs):
super(MyClass, self).initialize(*args, **kwargs)
self.description = 'My Class'
@authenticated()
@coroutine
def get(self):
# but this way does not work
self.generate_docstring(name=self.description, staticmethod='GET')
# some code here
self.write({
'success': True,
'data': self.description
})
@authenticated()
@coroutine
def post(self):
# but this way does not work
self.generate_docstring(name=self.description, staticmethod='POST')
# some code here
self.write({
'success': True,
'data': self.description
})
Там есть ли способ использовать функцию и вызывать для каждого метода и генерировать строку документации?
Заранее спасибо