I help to maintain a package for python called nxt-python. It uses metaclasses to define the methods of a control object. Here's the method that defines the available functions:
class _Meta(type):
'Metaclass which adds one method for each telegram opcode'
def __init__(cls, name, bases, dict):
super(_Meta, cls).__init__(name, bases, dict)
for opcode in OPCODES:
poll_func, parse_func = OPCODES[opcode]
m = _make_poller(opcode, poll_func, parse_func)
setattr(cls, poll_func.__name__, m)
I want to be able to add a different docstring to each of these methods that it adds. m is a method returned by _make_poller(). Any ideas? Is there some way to work around the python restriction on changing docstrings?
_Meta
constructor in thedict
argument as_Meta(cls,name,bases,dict={'__doc__':"""docstring"""})
or calldict.update({'__doc__':"""docstring"""})
before yoursuper
call. Now you have at least 4 options. – Wakashan