add config options useOembedRegistry and useOembedDiscovery

This commit is contained in:
lodriguez 2025-02-01 15:29:12 +01:00
parent eadac11ab6
commit 427845a358
2 changed files with 33 additions and 23 deletions

View File

@ -95,4 +95,12 @@ conf.registerGlobalValue(Web.fetch, 'timeout',
seconds the bot will wait for the site to respond, when using the 'fetch'
command in this plugin. If 0, will use socket.defaulttimeout"""))
conf.registerGlobalValue(Web, 'useOembedRegistry',
registry.Boolean(False, _("""Determines whether the bot will use the
oembed.com providers registry.""")))
conf.registerGlobalValue(Web, 'useOembedDiscovery',
registry.Boolean(False, _("""Determines whether the bot will use HTML
discovery to find oEmbed endpoints.""")))
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

View File

@ -287,6 +287,7 @@ class Web(callbacks.PluginRegexp):
First tries the providers registry if enabled, then falls back to
HTML discovery if needed and enabled.
"""
if self.registryValue('useOembedRegistry'):
providers = self._loadOEmbedProviders()
for provider in providers:
for pattern in provider.get('endpoints', []):
@ -296,6 +297,7 @@ class Web(callbacks.PluginRegexp):
regex = re.escape(scheme).replace(r'\*', '.*')
if re.match(regex, url):
return endpoint
if self.registryValue('useOembedDiscovery'):
try:
timeout = self.registryValue('timeout')
response = utils.web.getUrl(url, timeout=timeout)