Kaynağa Gözat

Fix stripping of prefix when it contains escapes

tags/v1.1
JustAnotherArchivist 1 yıl önce
ebeveyn
işleme
c18c440871
1 değiştirilmiş dosya ile 3 ekleme ve 3 silme
  1. +3
    -3
      codearchiver/storage.py

+ 3
- 3
codearchiver/storage.py Dosyayı Görüntüle

@@ -158,13 +158,13 @@ class DirectoryStorage(Storage):
def search_metadata(self, criteria, _suffix = '_codearchiver_metadata.txt'): def search_metadata(self, criteria, _suffix = '_codearchiver_metadata.txt'):
_logger.info(f'Searching metadata by criteria: {criteria!r}') _logger.info(f'Searching metadata by criteria: {criteria!r}')
# Replace this with `root_dir` when dropping Python 3.9 support # 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) escapedSuffix = glob.escape(_suffix)
files = glob.glob(f'{escapedDirPrefix}*{escapedSuffix}') files = glob.glob(f'{escapedDirPrefix}*{escapedSuffix}')
files.sort() files.sort()
for metadataFilename in files: for metadataFilename in files:
metadataFilename = metadataFilename[escapedDirPrefixLen:]
metadataFilename = metadataFilename[len(prefix):]
assert '\n' not in metadataFilename assert '\n' not in metadataFilename
_logger.info(f'Searching metadata {metadataFilename}') _logger.info(f'Searching metadata {metadataFilename}')
with self.open(metadataFilename, 'r') as fp: with self.open(metadataFilename, 'r') as fp:


Yükleniyor…
İptal
Kaydet