1
1
#!coding: utf-8
2
- from distutils .version import LooseVersion
3
2
from enum import Enum
4
3
import os
5
4
import re
6
5
7
6
from docutils import nodes
8
7
from docutils .transforms import Transform
9
- from sphinx import __version__
10
8
from sphinx import addnodes
11
9
from sphinx .domains import ObjType
12
10
from sphinx .domains .python import ObjectEntry
@@ -31,6 +29,7 @@ def _is_html(app):
31
29
32
30
# https://www.sphinx-doc.org/en/master/extdev/deprecated.html
33
31
32
+
34
33
# Constants for link styles
35
34
class HyperlinkStyle (Enum ):
36
35
NONE = "none"
@@ -73,16 +72,20 @@ def _cvt_param(name, line):
73
72
name = name [0 :- 9 ]
74
73
75
74
def cvt (m ):
76
- role , modifier , objname , paramname = m .group (1 ), m .group (2 ) or "" , name , m .group (3 )
75
+ role , modifier , objname , paramname = (
76
+ m .group (1 ),
77
+ m .group (2 ) or "" ,
78
+ name ,
79
+ m .group (3 ),
80
+ )
77
81
refname = _refname_from_paramname (paramname , strip_markup = True )
78
82
item = (
79
83
"single" ,
80
84
"%s (%s parameter)" % (refname , objname ),
81
85
"%s.params.%s" % (objname , refname ),
82
86
"" ,
83
87
)
84
- if LooseVersion (__version__ ) >= LooseVersion ("1.4.0" ):
85
- item += (None ,)
88
+ item += (None ,)
86
89
87
90
doc_idx .append (item )
88
91
return ":%s %s_sphinx_paramlinks_%s.%s:" % (
@@ -93,7 +96,12 @@ def cvt(m):
93
96
)
94
97
95
98
def secondary_cvt (m ):
96
- role , modifier , objname , paramname = m .group (1 ), m .group (2 ) or "" , name , m .group (3 )
99
+ role , modifier , objname , paramname = (
100
+ m .group (1 ),
101
+ m .group (2 ) or "" ,
102
+ name ,
103
+ m .group (3 ),
104
+ )
97
105
return ":%s %s_sphinx_paramlinks_%s.%s:" % (
98
106
role ,
99
107
modifier ,
@@ -102,7 +110,9 @@ def secondary_cvt(m):
102
110
)
103
111
104
112
line = re .sub (r"^:(keyword|param) ([^:]+? )?([^:]+?):" , cvt , line )
105
- line = re .sub (r"^:(kwtype|type) ([^:]+? )?([^:]+?):" , secondary_cvt , line )
113
+ line = re .sub (
114
+ r"^:(kwtype|type) ([^:]+? )?([^:]+?):" , secondary_cvt , line
115
+ )
106
116
return line
107
117
108
118
if what in ("function" , "method" , "class" ):
@@ -383,27 +393,11 @@ def build_index(app, doctree):
383
393
doc_entries = entries [docname ]
384
394
_indexentries (app .env )[docname ].extend (doc_entries )
385
395
386
- if LooseVersion (__version__ ) >= LooseVersion ("4.0.0" ):
387
- for entry in doc_entries :
388
- sing , desc , ref , extra = entry [:4 ]
389
- app .env .domains ["py" ].data ["objects" ][ref ] = ObjectEntry (
390
- docname , ref , "parameter" , False
391
- )
392
- elif LooseVersion (__version__ ) >= LooseVersion ("3.0.0" ):
393
- for entry in doc_entries :
394
- sing , desc , ref , extra = entry [:4 ]
395
- app .env .domains ["py" ].data ["objects" ][ref ] = ObjectEntry (
396
- docname ,
397
- ref ,
398
- "parameter" ,
399
- )
400
- else :
401
- for entry in doc_entries :
402
- sing , desc , ref , extra = entry [:4 ]
403
- app .env .domains ["py" ].data ["objects" ][ref ] = (
404
- docname ,
405
- "parameter" ,
406
- )
396
+ for entry in doc_entries :
397
+ sing , desc , ref , extra = entry [:4 ]
398
+ app .env .domains ["py" ].data ["objects" ][ref ] = ObjectEntry (
399
+ docname , ref , "parameter" , False
400
+ )
407
401
408
402
_indexentries (app .env ).pop ("_sphinx_paramlinks_index" )
409
403
0 commit comments