diff --git a/synapse/rest/media/v1/media_repository.py b/synapse/rest/media/v1/media_repository.py
index 97b7e84af9..77fb0313c5 100644
--- a/synapse/rest/media/v1/media_repository.py
+++ b/synapse/rest/media/v1/media_repository.py
@@ -80,8 +80,4 @@ class MediaRepositoryResource(Resource):
self.putChild("thumbnail", ThumbnailResource(hs, filepaths))
self.putChild("identicon", IdenticonResource())
if hs.config.url_preview_enabled:
- try:
- self.putChild("preview_url", PreviewUrlResource(hs, filepaths))
- except Exception as e:
- logger.warn("Failed to mount preview_url")
- logger.exception(e)
+ self.putChild("preview_url", PreviewUrlResource(hs, filepaths))
diff --git a/synapse/rest/media/v1/preview_url_resource.py b/synapse/rest/media/v1/preview_url_resource.py
index 4dd97ac0e3..8e1cf6e2fb 100644
--- a/synapse/rest/media/v1/preview_url_resource.py
+++ b/synapse/rest/media/v1/preview_url_resource.py
@@ -40,33 +40,11 @@ import ujson as json
import logging
logger = logging.getLogger(__name__)
-try:
- from lxml import html
-except ImportError:
- pass
-
class PreviewUrlResource(BaseMediaResource):
isLeaf = True
def __init__(self, hs, filepaths):
- try:
- if html:
- pass
- except:
- raise RuntimeError("Disabling PreviewUrlResource as lxml not available")
-
- if not hasattr(hs.config, "url_preview_ip_range_blacklist"):
- logger.warn(
- "For security, you must specify an explicit target IP address "
- "blacklist in url_preview_ip_range_blacklist for url previewing "
- "to work"
- )
- raise RuntimeError(
- "Disabling PreviewUrlResource as "
- "url_preview_ip_range_blacklist not specified"
- )
-
BaseMediaResource.__init__(self, hs, filepaths)
self.client = SpiderHttpClient(hs)
if hasattr(hs.config, "url_preview_url_blacklist"):
@@ -201,6 +179,8 @@ class PreviewUrlResource(BaseMediaResource):
elif self._is_html(media_info['media_type']):
# TODO: somehow stop a big HTML tree from exploding synapse's RAM
+ from lxml import html
+
try:
tree = html.parse(media_info['filename'])
og = yield self._calc_og(tree, media_info, requester)
|