From 893d6302b7d77c5d13058fe9911aec803d03bbf4 Mon Sep 17 00:00:00 2001 From: Frej Drejhammar Date: Sun, 7 Apr 2024 15:06:37 +0200 Subject: [PATCH] Fix errors resulting from #318 When commit ddfc3a83003a ("Run file_data_filter on deleted files") started calling the file_data_filter plugin method, in order to make deletion of plugin-renamed files work, the example plugins were not updated. This commit updates the example plugins to not crash when the file context is None. Thanks to @hetas discovering this. Closes 328 --- plugins/dos2unix/__init__.py | 2 ++ plugins/shell_filter_file_contents/__init__.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/plugins/dos2unix/__init__.py b/plugins/dos2unix/__init__.py index bae9358..e5b2d9c 100644 --- a/plugins/dos2unix/__init__.py +++ b/plugins/dos2unix/__init__.py @@ -6,6 +6,8 @@ class Filter(): pass def file_data_filter(self,file_data): + if file_data['file_ctx'] == None: + return file_ctx = file_data['file_ctx'] if not file_ctx.isbinary(): file_data['data'] = file_data['data'].replace(b'\r\n', b'\n') diff --git a/plugins/shell_filter_file_contents/__init__.py b/plugins/shell_filter_file_contents/__init__.py index 84fd938..4030da0 100644 --- a/plugins/shell_filter_file_contents/__init__.py +++ b/plugins/shell_filter_file_contents/__init__.py @@ -15,6 +15,8 @@ class Filter: d = file_data['data'] file_ctx = file_data['file_ctx'] filename = file_data['filename'] + if file_ctx == None: + return filter_cmd = self.filter_contents + [filename, node.hex(file_ctx.filenode()), '1' if file_ctx.isbinary() else '0'] try: filter_proc = subprocess.Popen(filter_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)