fix - allow url with underscore in domain

This commit is contained in:
swathi 2018-01-22 17:21:28 -08:00
parent 88a951ba4f
commit 8b5df3ca17
2 changed files with 11 additions and 1 deletions

View File

@ -121,7 +121,7 @@ class URLField(StringField):
_URL_REGEX = re.compile( _URL_REGEX = re.compile(
r'^(?:[a-z0-9\.\-]*)://' # scheme is validated separately r'^(?:[a-z0-9\.\-]*)://' # scheme is validated separately
r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}(?<!-)\.?)|' # domain... r'(?:(?:[A-Z0-9](?:[A-Z0-9-_]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}(?<!-)\.?)|' # domain...
r'localhost|' # localhost... r'localhost|' # localhost...
r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4 r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4
r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6 r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6

View File

@ -361,6 +361,16 @@ class FieldTest(unittest.TestCase):
scheme_link.url = 'ws://google.com' scheme_link.url = 'ws://google.com'
scheme_link.validate() scheme_link.validate()
def test_url_allowed_domains(self):
"""Allow underscore in domain names.
"""
class Link(Document):
url = URLField()
link = Link()
link.url = 'https://san_leandro-ca.geebo.com'
link.validate()
def test_int_validation(self): def test_int_validation(self):
"""Ensure that invalid values cannot be assigned to int fields. """Ensure that invalid values cannot be assigned to int fields.
""" """