From f1edf4b752479ac773efd8899d626241a8c96bd7 Mon Sep 17 00:00:00 2001 From: JustAnotherArchivist Date: Sun, 12 Mar 2023 18:28:42 +0000 Subject: [PATCH] Fix TypeError due to lack of `glob.glob`'s `root_dir` option on Python 3.9 --- codearchiver/storage.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/codearchiver/storage.py b/codearchiver/storage.py index 23f9dd3..3d7aae5 100644 --- a/codearchiver/storage.py +++ b/codearchiver/storage.py @@ -75,7 +75,11 @@ class DirectoryStorage(Storage): def search_metadata(self, criteria): _logger.info(f'Searching metadata by criteria: {criteria!r}') - for metadataFilename in glob.glob('*.codearchiver-metadata', root_dir = self._directory): + # Replace this with `root_dir` when dropping Python 3.9 support + escapedDirPrefix = os.path.join(glob.escape(self._directory), '') + escapedDirPrefixLen = len(escapedDirPrefix) + for metadataFilename in glob.glob(f'{escapedDirPrefix}*.codearchiver-metadata'): + metadataFilename = metadataFilename[escapedDirPrefixLen:] _logger.info(f'Searching metadata {metadataFilename}') with self.open(metadataFilename, 'r') as fp: idx = codearchiver.core.Metadata.deserialise(fp, validate = False)