hobo/hobo/environment/validators.py

21 lines
714 B
Python

import urllib.parse
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from hobo.environment.models import ServiceBase
def validate_service_url(url):
service = ServiceBase(title='dummy', base_url=url)
if not service.is_resolvable():
raise ValidationError(
_('Error: %(netloc)s is not resolvable in URL %(url)s'),
code='not-resolvable',
params={'netloc': urllib.parse.urlsplit(url).netloc, 'url': url},
)
if not service.has_valid_certificate():
raise ValidationError(
_('Error: no valid certificate for %(url)s'), code='invalid-certificate', params={'url': url}
)