GNOME Bugzilla – Bug 739056
Python xml - argsstring is empty, while HTML have arguments
Last modified: 2015-07-26 11:13:50 UTC
All functions inside the xml output are with empty text inside the argsstring tag, while the HTML output looks fine. For example, project bleach: https://github.com/jsocol/bleach <memberdef kind="function" id="classbleach4_1_1sanitizer_1_1BleachSanitizerMixin_1a67629f3321a20f5b08a19030895caf88" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>def</type> <definition>def bleach4.sanitizer.BleachSanitizerMixin.sanitize_token</definition> <argsstring/> <name>sanitize_token</name> <briefdescription> </briefdescription> <detaileddescription> while the HTML looks fine with def bleach4.sanitizer.BleachSanitizerMixin.sanitize_token(self, style)
Confirmed. Should be fixed in the next GIT update.
Thank you
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.9. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant (preferrably in the form of a self-contained example).
It's partly fixed in the latest GIT (cloned last week). Some functions have argsstring filled, and some have argsstring empty. For example, in Bleach project, the function: def bleach.sanitizer.BleachSanitizer.__init__, has argsstring: <memberdef kind="function" id="classbleach_1_1sanitizer_1_1BleachSanitizer_1a05b756df4f276e571ce7b9fff35b5c2a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>def</type> <definition>def bleach.sanitizer.BleachSanitizer.__init__</definition> <argsstring>(self, stream, encoding=None, parseMeta=True, useChardet=True, lowercaseElementName=True, lowercaseAttrName=True, kwargs)</argsstring> <name>__init__</name> and the function def bleach.clean doesn't: <memberdef kind="function" id="namespacebleach_1a1188b35b7f1678cccb692f39b55ac356" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>def</type> <definition>def bleach.clean</definition> <argsstring/> <name>clean</name> <briefdescription> </briefdescription> <detaileddescription> <para><verbatim>Clean an HTML fragment and return it</verbatim> </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/erez/project/temp_unzipped/2/python/bleach/__init__.py" line="97" column="1" bodyfile="/home/erez/project/temp_unzipped/2/python/bleach/__init__.py" bodystart="98" bodyend="116"/> </memberdef> from the source of bleach.clean, the argsstring is: def clean(text, tags=ALLOWED_TAGS, attributes=ALLOWED_ATTRIBUTES, styles=ALLOWED_STYLES, strip=False, strip_comments=True): BTW, I've also tried running doxygen on a different project I"m using, and the same problem occurs - some argsstring appear, some do not. I don't see a specific logic I can help you to pinpoint exactly what's the bug. If there are any tests I can do to help you, please please let me know. Thx, Erez
The first part of this bug report was handled as indicated in comment #1, this took into account all situations where the last argument didn't have a default value. The later problem was indicated by comment #4 and later on by Bug 752658 - XML empty <argsstring/> in python The pull request 371 to github with Bug 752658 - XML empty <argsstring/> in python tries to handle the situation where the last argument has a default value. I think this bug report can be closed with reference to Bug 752658.
Bug solved by pull request 371. I'm marking resolved.