Allow hexadecimal ranges in IPv6 addresses, not only 0-9
This commit is contained in:
parent
cc4601258d
commit
2d420a9bb7
2 changed files with 9 additions and 1 deletions
|
@ -31,6 +31,13 @@ numeric_range = r'''
|
|||
\]
|
||||
'''
|
||||
|
||||
hexadecimal_range = r'''
|
||||
\[
|
||||
(?:[0-9a-f]+:[0-9a-f]+) # hexadecimal begin:end
|
||||
(?::[0-9]+)? # numeric :step (optional)
|
||||
\]
|
||||
'''
|
||||
|
||||
alphanumeric_range = r'''
|
||||
\[
|
||||
(?:
|
||||
|
@ -50,7 +57,7 @@ ipv6_component = r'''
|
|||
[0-9a-f]{{1,4}}| # 0..ffff
|
||||
{range} # or a numeric range
|
||||
)
|
||||
'''.format(range=numeric_range)
|
||||
'''.format(range=hexadecimal_range)
|
||||
|
||||
ipv4_component = r'''
|
||||
(?:
|
||||
|
|
|
@ -43,6 +43,7 @@ class TestParseAddress(unittest.TestCase):
|
|||
'192.0.2.[3:10]:23': ['192.0.2.[3:10]', 23],
|
||||
'abcd:ef98::7654:[1:9]': ['abcd:ef98::7654:[1:9]', None],
|
||||
'[abcd:ef98::7654:[6:32]]:2222': ['abcd:ef98::7654:[6:32]', 2222],
|
||||
'[abcd:ef98::7654:[9ab3:fcb7]]:2222': ['abcd:ef98::7654:[9ab3:fcb7]', 2222],
|
||||
u'fóöb[a:c]r.éxàmplê.com:632': [u'fóöb[a:c]r.éxàmplê.com', 632],
|
||||
'[a:b]foo.com': ['[a:b]foo.com', None],
|
||||
'foo[a:b].com': ['foo[a:b].com', None],
|
||||
|
|
Loading…
Reference in a new issue