|
|
@@ -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: |
|
|
|