Преглед на файлове

Require `Storage.search_metadata` to return files in lexicographical order to minimise dependencies between bundles

tags/v1.0
JustAnotherArchivist преди 1 година
родител
ревизия
3ca99d8839
променени са 1 файла, в които са добавени 4 реда и са изтрити 2 реда
  1. +4
    -2
      codearchiver/storage.py

+ 4
- 2
codearchiver/storage.py Целия файл

@@ -29,7 +29,7 @@ class Storage(abc.ABC):
'''
Search all metadata in storage by criteria.
Refer to `codearchiver.core.Metadata.matches` for the semantics of `criteria`.
Yields all filenames where all criteria match.
Yields all filenames where all criteria match in lexicographical order.
'''

@abc.abstractmethod
@@ -78,7 +78,9 @@ class DirectoryStorage(Storage):
# 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'):
files = glob.glob(f'{escapedDirPrefix}*.codearchiver-metadata')
files.sort()
for metadataFilename in files:
metadataFilename = metadataFilename[escapedDirPrefixLen:]
_logger.info(f'Searching metadata {metadataFilename}')
with self.open(metadataFilename, 'r') as fp:


Зареждане…
Отказ
Запис