mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-4717 Format Numpy docstrings via napoleon and existing rest_formatter script
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user