PY-4717 Format Numpy docstrings via napoleon and existing rest_formatter script

This commit is contained in:
Mikhail Golubev
2015-09-02 14:35:32 +03:00
parent 596070b338
commit a6d0b050de
2 changed files with 30 additions and 6 deletions
+19
View File
@@ -0,0 +1,19 @@
import sys
from sphinxcontrib.napoleon.docstring import NumpyDocstring
import rest_formatter
def main(text=None):
try:
src = sys.stdin.read() if text is None else text
import textwrap
rest_formatter.main(str(NumpyDocstring(textwrap.dedent(src))))
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
sys.stderr.write("Error calculating docstring: " + str(exc_value))
if __name__ == '__main__':
main()
@@ -46,7 +46,7 @@ import java.util.Map;
* @author yole
*/
public class PyStructuredDocstringFormatter {
private static final Logger LOG = Logger.getInstance("#com.jetbrains.python.documentation.PyStructuredDocstringFormatter");
private static final Logger LOG = Logger.getInstance(PyStructuredDocstringFormatter.class);
private PyStructuredDocstringFormatter() {
}
@@ -68,7 +68,15 @@ public class PyStructuredDocstringFormatter {
final String formatter;
final StructuredDocString structuredDocString;
if (documentationSettings.isEpydocFormat(element.getContainingFile()) || DocStringUtil.isEpydocDocString(preparedDocstring)) {
if (documentationSettings.isGoogleFormat(element.getContainingFile()) || DocStringUtil.isGoogleDocString(preparedDocstring)) {
formatter = PythonHelpersLocator.getHelperPath("google_formatter.py");
structuredDocString = DocStringUtil.parseDocString(DocStringFormat.GOOGLE, preparedDocstring);
}
else if (documentationSettings.isNumpyFormat(element.getContainingFile()) || DocStringUtil.isNumpyDocstring(preparedDocstring)) {
formatter = PythonHelpersLocator.getHelperPath("numpy_formatter.py");
structuredDocString = DocStringUtil.parseDocString(DocStringFormat.NUMPY, preparedDocstring);
}
else if (documentationSettings.isEpydocFormat(element.getContainingFile()) || DocStringUtil.isEpydocDocString(preparedDocstring)) {
formatter = PythonHelpersLocator.getHelperPath("epydoc_formatter.py");
structuredDocString = DocStringUtil.parseDocString(DocStringFormat.EPYTEXT, preparedDocstring);
result.add(formatStructuredDocString(structuredDocString));
@@ -77,10 +85,7 @@ public class PyStructuredDocstringFormatter {
formatter = PythonHelpersLocator.getHelperPath("rest_formatter.py");
structuredDocString = DocStringUtil.parseDocString(DocStringFormat.REST, preparedDocstring);
}
else if (documentationSettings.isGoogleFormat(element.getContainingFile()) || DocStringUtil.isGoogleDocString(preparedDocstring)) {
formatter = PythonHelpersLocator.getHelperPath("google_formatter.py");
structuredDocString = DocStringUtil.parseDocString(DocStringFormat.GOOGLE, preparedDocstring);
}
else {
return null;
}