File tree 2 files changed +34
-6
lines changed
2 files changed +34
-6
lines changed Original file line number Diff line number Diff line change 12
12
13
13
from contextlib import contextmanager
14
14
from packaging .version import Version
15
+ import re
15
16
16
17
try :
17
18
from shutil import which as find_executable
31
32
32
33
# re-export version type
33
34
class PgVer (Version ):
34
- def __init__ (self , version : str ) -> None :
35
- version = version .replace ('biha' , '' )
36
- super ().__init__ (version )
35
+ _VERSION_PATTERN = r"""
36
+ v?
37
+ (?:
38
+ (?:(?P<epoch>[0-9]+)!)? # epoch
39
+ (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
40
+ (?P<pre> # pre-release
41
+ [-_\.]?
42
+ (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview|biha))
43
+ [-_\.]?
44
+ (?P<pre_n>[0-9]+)?
45
+ )?
46
+ (?P<post> # post release
47
+ (?:-(?P<post_n1>[0-9]+))
48
+ |
49
+ (?:
50
+ [-_\.]?
51
+ (?P<post_l>post|rev|r)
52
+ [-_\.]?
53
+ (?P<post_n2>[0-9]+)?
54
+ )
55
+ )?
56
+ (?P<dev> # dev release
57
+ [-_\.]?
58
+ (?P<dev_l>dev)
59
+ [-_\.]?
60
+ (?P<dev_n>[0-9]+)?
61
+ )?
62
+ )
63
+ (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
64
+ """
65
+
66
+ _regex = re .compile (r"^\s*" + _VERSION_PATTERN + r"\s*$" , re .VERBOSE | re .IGNORECASE )
37
67
38
68
39
69
def reserve_port ():
@@ -213,8 +243,6 @@ def get_pg_version():
213
243
.partition ('devel' )[0 ] \
214
244
.partition ('beta' )[0 ] \
215
245
.partition ('rc' )[0 ]
216
- if 'biha' in version :
217
- version = version .replace ('biha' , '' )
218
246
return version
219
247
220
248
Original file line number Diff line number Diff line change @@ -902,7 +902,7 @@ def test_version_management(self):
902
902
e = PgVer ('15rc1' )
903
903
f = PgVer ('15beta4' )
904
904
g = PgVer ('15.2beta4' )
905
- h = PgVer ('15.2biha ' )
905
+ h = PgVer ('15.2-biha ' )
906
906
907
907
self .assertTrue (a == b )
908
908
self .assertTrue (b > c )
You can’t perform that action at this time.
0 commit comments