Merge branch 'develop' into rav/url_preview_limit_title

This commit is contained in:
Richard van der Hoff 2019-11-05 17:08:07 +00:00 committed by GitHub
commit 55a7da247a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
231 changed files with 4527 additions and 1822 deletions

View file

@ -77,6 +77,8 @@ class PreviewUrlResource(DirectServeResource):
treq_args={"browser_like_redirects": True},
ip_whitelist=hs.config.url_preview_ip_range_whitelist,
ip_blacklist=hs.config.url_preview_ip_range_blacklist,
http_proxy=os.getenv("http_proxy"),
https_proxy=os.getenv("HTTPS_PROXY"),
)
self.media_repo = media_repo
self.primary_base_path = media_repo.primary_base_path
@ -120,8 +122,10 @@ class PreviewUrlResource(DirectServeResource):
pattern = entry[attrib]
value = getattr(url_tuple, attrib)
logger.debug(
("Matching attrib '%s' with value '%s' against" " pattern '%s'")
% (attrib, value, pattern)
"Matching attrib '%s' with value '%s' against" " pattern '%s'",
attrib,
value,
pattern,
)
if value is None:
@ -137,7 +141,7 @@ class PreviewUrlResource(DirectServeResource):
match = False
continue
if match:
logger.warn("URL %s blocked by url_blacklist entry %s", url, entry)
logger.warning("URL %s blocked by url_blacklist entry %s", url, entry)
raise SynapseError(
403, "URL blocked by url pattern blacklist entry", Codes.UNKNOWN
)
@ -189,7 +193,7 @@ class PreviewUrlResource(DirectServeResource):
media_info = yield self._download_url(url, user)
logger.debug("got media_info of '%s'" % media_info)
logger.debug("got media_info of '%s'", media_info)
if _is_media(media_info["media_type"]):
file_id = media_info["filesystem_id"]
@ -209,7 +213,7 @@ class PreviewUrlResource(DirectServeResource):
og["og:image:width"] = dims["width"]
og["og:image:height"] = dims["height"]
else:
logger.warn("Couldn't get dims for %s" % url)
logger.warning("Couldn't get dims for %s" % url)
# define our OG response for this media
elif _is_html(media_info["media_type"]):
@ -257,7 +261,7 @@ class PreviewUrlResource(DirectServeResource):
og["og:image:width"] = dims["width"]
og["og:image:height"] = dims["height"]
else:
logger.warn("Couldn't get dims for %s" % og["og:image"])
logger.warning("Couldn't get dims for %s", og["og:image"])
og["og:image"] = "mxc://%s/%s" % (
self.server_name,
@ -268,7 +272,7 @@ class PreviewUrlResource(DirectServeResource):
else:
del og["og:image"]
else:
logger.warn("Failed to find any OG data in %s", url)
logger.warning("Failed to find any OG data in %s", url)
og = {}
# filter out any stupidly long values
@ -282,7 +286,7 @@ class PreviewUrlResource(DirectServeResource):
for k in keys_to_remove:
del og[k]
logger.debug("Calculated OG for %s as %s" % (url, og))
logger.debug("Calculated OG for %s as %s", url, og)
jsonog = json.dumps(og)
@ -311,7 +315,7 @@ class PreviewUrlResource(DirectServeResource):
with self.media_storage.store_into_file(file_info) as (f, fname, finish):
try:
logger.debug("Trying to get url '%s'" % url)
logger.debug("Trying to get url '%s'", url)
length, headers, uri, code = yield self.client.get_file(
url, output_stream=f, max_size=self.max_spider_size
)
@ -331,7 +335,7 @@ class PreviewUrlResource(DirectServeResource):
)
except Exception as e:
# FIXME: pass through 404s and other error messages nicely
logger.warn("Error downloading %s: %r", url, e)
logger.warning("Error downloading %s: %r", url, e)
raise SynapseError(
500,
@ -412,7 +416,7 @@ class PreviewUrlResource(DirectServeResource):
except OSError as e:
# If the path doesn't exist, meh
if e.errno != errno.ENOENT:
logger.warn("Failed to remove media: %r: %s", media_id, e)
logger.warning("Failed to remove media: %r: %s", media_id, e)
continue
removed_media.append(media_id)
@ -444,7 +448,7 @@ class PreviewUrlResource(DirectServeResource):
except OSError as e:
# If the path doesn't exist, meh
if e.errno != errno.ENOENT:
logger.warn("Failed to remove media: %r: %s", media_id, e)
logger.warning("Failed to remove media: %r: %s", media_id, e)
continue
try:
@ -460,7 +464,7 @@ class PreviewUrlResource(DirectServeResource):
except OSError as e:
# If the path doesn't exist, meh
if e.errno != errno.ENOENT:
logger.warn("Failed to remove media: %r: %s", media_id, e)
logger.warning("Failed to remove media: %r: %s", media_id, e)
continue
removed_media.append(media_id)