From df20c99e9815488ed40700783ad037cf40a159ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Martano?= Date: Sat, 2 Nov 2024 08:42:21 -0300 Subject: [PATCH] Fix extraction in Solr >= 8. --- pysolr.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pysolr.py b/pysolr.py index 88cd860a..b7d66b4e 100644 --- a/pysolr.py +++ b/pysolr.py @@ -1284,10 +1284,21 @@ def extract(self, file_obj, extractOnly=True, handler="update/extract", **kwargs self.log.exception("Failed to load JSON response") raise - data["contents"] = data.pop(filename, None) + if "file" in data: + # For Solr >= 8. + data["contents"] = data.pop("file", None) + else: + # For Solr <= 7. + data["contents"] = data.pop(filename, None) + data["metadata"] = metadata = {} - raw_metadata = data.pop("%s_metadata" % filename, None) + if "file_metadata" in data: + # For Solr >= 8. + raw_metadata = data.pop("file_metadata", None) + else: + # For Solr <= 7. + raw_metadata = data.pop("%s_metadata" % filename, None) if raw_metadata: # The raw format is somewhat annoying: it's a flat list of