From 4d4880a5c8d94d85900898f9742f32d2e4e70812 Mon Sep 17 00:00:00 2001 From: caryoscelus Date: Fri, 18 Aug 2023 16:51:16 +0000 Subject: [PATCH] Ignore muted files in Site.needFile --- plugins/ContentFilter/ContentFilterPlugin.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/ContentFilter/ContentFilterPlugin.py b/plugins/ContentFilter/ContentFilterPlugin.py index 8a9db880..ec88b3b3 100644 --- a/plugins/ContentFilter/ContentFilterPlugin.py +++ b/plugins/ContentFilter/ContentFilterPlugin.py @@ -216,11 +216,21 @@ class SiteStoragePlugin(object): filter_storage.includeUpdateAll() return super(SiteStoragePlugin, self).onUpdated(inner_path, file=file) +@PluginManager.registerTo("Site") +class SitePlugin(object): + def needFile(self, inner_path, update=False, blocking=True, peer=None, priority=0): + self.log.debug(f'needFile {inner_path}') + matches = re.findall('/(1[A-Za-z0-9]{26,35})/', inner_path) + for auth_address in matches: + if filter_storage.isMuted(auth_address): + self.log.info(f'Mute match in Site.needFile: {auth_address}, ignoring {inner_path}') + return False + return super(SitePlugin, self).needFile(inner_path, update, blocking, peer, priority) + @PluginManager.registerTo("FileRequest") class FileRequestPlugin: def actionUpdate(self, params): inner_path = params.get('inner_path', '') - self.log.info(f'FileRequest.actionUpdate {inner_path}') matches = re.findall('/(1[A-Za-z0-9]{26,35})/', inner_path) for auth_address in matches: if filter_storage.isMuted(auth_address):