From c18c440871ef296f56963becd9dda6ce89cc1567 Mon Sep 17 00:00:00 2001 From: JustAnotherArchivist Date: Wed, 29 Mar 2023 21:47:36 +0000 Subject: [PATCH] Fix stripping of prefix when it contains escapes --- codearchiver/storage.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/codearchiver/storage.py b/codearchiver/storage.py index 4dc755f..955a833 100644 --- a/codearchiver/storage.py +++ b/codearchiver/storage.py @@ -158,13 +158,13 @@ class DirectoryStorage(Storage): def search_metadata(self, criteria, _suffix = '_codearchiver_metadata.txt'): _logger.info(f'Searching metadata by criteria: {criteria!r}') # Replace this with `root_dir` when dropping Python 3.9 support - escapedDirPrefix = os.path.join(glob.escape(self._directory), '') - escapedDirPrefixLen = len(escapedDirPrefix) + prefix = os.path.join(self._directory, '') + escapedDirPrefix = glob.escape(prefix) escapedSuffix = glob.escape(_suffix) files = glob.glob(f'{escapedDirPrefix}*{escapedSuffix}') files.sort() for metadataFilename in files: - metadataFilename = metadataFilename[escapedDirPrefixLen:] + metadataFilename = metadataFilename[len(prefix):] assert '\n' not in metadataFilename _logger.info(f'Searching metadata {metadataFilename}') with self.open(metadataFilename, 'r') as fp: