general: require dnspython (#59704)

This commit is contained in:
Frédéric Péters 2021-12-14 23:21:29 +01:00
parent 044cecf08b
commit 1d3f09f526
3 changed files with 15 additions and 20 deletions

2
debian/control vendored
View File

@ -20,6 +20,7 @@ Depends: graphviz,
python3-django (>= 1:1.11),
python3-django-ckeditor,
python3-django-ratelimit,
python3-dnspython,
python3-hobo,
python3-lasso,
python3-pil,
@ -38,7 +39,6 @@ Depends: graphviz,
${python3:Depends}
Recommends: libreoffice-writer-nogui | libreoffice-writer,
poppler-utils,
python3-dnspython,
python3-docutils,
python3-langdetect,
python3-magic,

View File

@ -169,6 +169,7 @@ setup(
url="http://wcs.labs.libre-entreprise.org",
install_requires=[
'bleach',
'dnspython',
'gadjo>=0.53',
'django-ckeditor<4.5.4',
'django-ratelimit<3',

View File

@ -36,14 +36,9 @@ try:
except ImportError:
Image = None
import bleach
try:
import dns
import dns.exception
import dns.resolver
except (ImportError, OSError):
dns = None
import dns
import dns.exception
import dns.resolver
try:
import magic
@ -967,17 +962,16 @@ class EmailWidget(StringWidget):
return
if domain == 'localhost':
return
if dns is not None:
try:
dns.resolver.query(force_str(domain), 'MX')
except dns.resolver.NXDOMAIN:
self.error = _('invalid address domain')
except dns.resolver.NoAnswer:
self.error = _('dns answer does not contain the response')
except dns.resolver.NoNameservers:
self.error = _('all name servers failed to answer the query')
except dns.exception.DNSException:
self.error = _('an error occurred while query MX entry for domain %s') % domain
try:
dns.resolver.query(force_str(domain), 'MX')
except dns.resolver.NXDOMAIN:
self.error = _('invalid address domain')
except dns.resolver.NoAnswer:
self.error = _('dns answer does not contain the response')
except dns.resolver.NoNameservers:
self.error = _('all name servers failed to answer the query')
except dns.exception.DNSException:
self.error = _('an error occurred while query MX entry for domain %s') % domain
class OptGroup: