1
- #!/usr/bin/env python3
1
+ #!/usr/bin/env python
2
2
import importlib .util
3
3
import os
4
4
import pkgutil
12
12
import docutils .utils
13
13
import docutils .frontend
14
14
15
+ CHANGELOG_PATTERN = re .compile (r"^Version (\S+)((?: \(unreleased\)))?$" )
16
+
15
17
16
18
def parse_rst (text : str ) -> docutils .nodes .document :
17
19
parser = docutils .parsers .rst .Parser ()
@@ -51,14 +53,12 @@ def get_sphinxchangelog_version(rootdir):
51
53
assert len (visitor .sectiontitles_found ) == len (unique_sectiontitles )
52
54
assert visitor .sectiontitles_found [0 ] == "Changelog"
53
55
54
- changelog_pattern = re .compile (r"^Version (\S+)((?: \(unreleased\)))?$" )
55
-
56
- matchobj = changelog_pattern (visitor .sectiontitles_found [1 ])
56
+ matchobj = CHANGELOG_PATTERN .match (visitor .sectiontitles_found [1 ])
57
57
assert matchobj
58
58
version = matchobj .group (1 )
59
59
version_unreleased = matchobj .group (2 )
60
60
61
- matchobj = changelog_pattern (visitor .sectiontitles_found [2 ])
61
+ matchobj = CHANGELOG_PATTERN . match (visitor .sectiontitles_found [2 ])
62
62
assert matchobj
63
63
release = matchobj .group (1 )
64
64
release_unreleased = matchobj .group (2 )
@@ -83,7 +83,7 @@ def get_setuppy_version(rootdir):
83
83
"""Get version from setup.py."""
84
84
setupfile = os .path .join (rootdir , "setup.py" )
85
85
cmd = (sys .executable , setupfile , "--version" )
86
- release = subprocess .check_output (cmd , text = True ). rstrip (" \n " )
86
+ release = subprocess .check_output (cmd ). decode (). rstrip (os . linesep )
87
87
version = release .rpartition ("." )[0 ]
88
88
return version , release
89
89
@@ -112,43 +112,53 @@ def main():
112
112
113
113
setuppy_version , setuppy_release = get_setuppy_version (rootdir )
114
114
package_version , package_release = get_package_version (rootdir )
115
- confpy_version , confpy_release = get_setuppy_version (rootdir )
116
- changelog_version , changelog_release = get_setuppy_version (rootdir )
115
+ confpy_version , confpy_release = get_sphinxconfpy_version (rootdir )
116
+ changelog_version , changelog_release = get_sphinxchangelog_version (rootdir )
117
117
118
118
version_head = "Version"
119
119
version_width = max (
120
- [
121
- len (version_head ),
122
- len (setuppy_version ),
123
- len (package_version ),
124
- len (confpy_version ),
125
- len (changelog_version ),
126
- ]
120
+ (
121
+ len (repr (x ))
122
+ for x in (
123
+ version_head ,
124
+ setuppy_version ,
125
+ package_version ,
126
+ confpy_version ,
127
+ changelog_version ,
128
+ )
129
+ )
127
130
)
128
131
129
132
release_head = "Release"
130
133
release_width = max (
131
- [
132
- len (release_head ),
133
- len (setuppy_release ),
134
- len (package_release ),
135
- len (confpy_release ),
136
- len (changelog_release ),
137
- ]
134
+ (
135
+ len (repr (x ))
136
+ for x in (
137
+ release_head ,
138
+ setuppy_release ,
139
+ package_release ,
140
+ confpy_release ,
141
+ changelog_release ,
142
+ )
143
+ )
138
144
)
139
145
140
146
print (
141
147
f"File { version_head } { release_head } \n "
142
148
f"------------------------------- { '-' * version_width } "
143
149
f" { '-' * release_width } \n "
144
- f"setup.py { setuppy_version :>{version_width }} "
145
- f" { setuppy_release :>{release_width }} \n "
146
- f"sphinx_multiversion/__init__.py { package_version :>{version_width }} "
147
- f" { package_release :>{release_width }} \n "
148
- f"docs/conf.py { confpy_version :>{version_width }} "
149
- f" { confpy_release :>{release_width }} \n "
150
- f"docs/changelog.rst { changelog_version :>{version_width }} "
151
- f" { changelog_release :>{release_width }} \n "
150
+ f"setup.py "
151
+ f" { setuppy_version !r:>{version_width }} "
152
+ f" { setuppy_release !r:>{release_width }} \n "
153
+ f"sphinx_multiversion/__init__.py"
154
+ f" { package_version !r:>{version_width }} "
155
+ f" { package_release !r:>{release_width }} \n "
156
+ f"docs/conf.py "
157
+ f" { confpy_version !r:>{version_width }} "
158
+ f" { confpy_release !r:>{release_width }} \n "
159
+ f"docs/changelog.rst "
160
+ f" { changelog_version !r:>{version_width }} "
161
+ f" { changelog_release !r:>{release_width }} \n "
152
162
)
153
163
154
164
assert setuppy_version == confpy_version
0 commit comments