diff --git a/beangulp/__init__.py b/beangulp/__init__.py index 59cfc6e..4df383b 100644 --- a/beangulp/__init__.py +++ b/beangulp/__init__.py @@ -109,7 +109,12 @@ def _extract( log(" ...", nl=False) # Extract entries. - entries = extract.extract_from_file(importer, filename, existing_entries) + entries = extract.extract_from_file( + importer, + filename, + existing_entries, + reverse=reverse, + ) account = importer.account(filename) extracted.append((filename, entries, account, importer)) diff --git a/beangulp/extract.py b/beangulp/extract.py index 58224bc..d497c56 100644 --- a/beangulp/extract.py +++ b/beangulp/extract.py @@ -35,7 +35,10 @@ def extract_from_file( - importer: "Importer", filename: str, existing_entries: "data.Directives" + importer: "Importer", + filename: str, + existing_entries: "data.Directives", + reverse: bool = False, ) -> data.Entries: """Import entries from a document. @@ -43,6 +46,7 @@ def extract_from_file( importer: The importer instance to handle the document. filename: Filesystem path to the document. existing_entries: Existing entries. + reverse: Sort extracted entries in descending order. Returns: The list of imported entries. @@ -52,7 +56,7 @@ def extract_from_file( return [] # Sort the newly imported entries. - importer.sort(entries) + importer.sort(entries, reverse=reverse) # Ensure that the entries are typed correctly. for entry in entries: