AP-687 Only download files if local file is older#13
Open
jason-raitz wants to merge 1 commit into
Open
Conversation
Contributor
jason-raitz
commented
May 22, 2026
- given a UTC modified datetime string for the requested file, we now check if the file exists locally and has a newer mtime
awilfox
reviewed
May 22, 2026
Member
awilfox
left a comment
There was a problem hiding this comment.
r+wc; minor documentation fixes.
Comment on lines
+11
to
+12
| - Optional parameter to `fetch_file()` with a modified time of the remote file pulled from the TIND API | ||
| - `fetch_file()` uses this to avoid unnecessary downloads if a file already exists at the target |
Member
There was a problem hiding this comment.
Wouldn't this be a single entry in the changelog?
Comment on lines
9
to
+13
| from io import StringIO | ||
| from pathlib import Path | ||
| from typing import Any, Iterator | ||
| import xml.etree.ElementTree as E | ||
| from datetime import datetime, timezone |
Member
There was a problem hiding this comment.
Not only for alphabetisation, but because etree is sometimes considered external.
Suggested change
| from io import StringIO | |
| from pathlib import Path | |
| from typing import Any, Iterator | |
| import xml.etree.ElementTree as E | |
| from datetime import datetime, timezone | |
| from datetime import datetime, timezone | |
| from io import StringIO | |
| from pathlib import Path | |
| from typing import Any, Iterator | |
| import xml.etree.ElementTree as E |
Comment on lines
+76
to
+78
| """Download a file from TIND and save it locally. If the file already exists in the output | ||
| directory and has a local modified timestamp that is newer than supplied ``modified`` | ||
| timestamp, the file will not be re-downloaded. |
Member
There was a problem hiding this comment.
Suggested change
| """Download a file from TIND and save it locally. If the file already exists in the output | |
| directory and has a local modified timestamp that is newer than supplied ``modified`` | |
| timestamp, the file will not be re-downloaded. | |
| """Download a file from TIND and save it locally. | |
| If the file already exists in the output directory and was modified at or after a supplied ``modified`` | |
| timestamp, the file will not be re-downloaded. |
| :param str file_url: The TIND file download URL. | ||
| :param str output_dir: Directory in which to save the file. | ||
| Falls back to ``default_storage_dir`` when empty. | ||
| :param str modified: Optional modified timestamp from the file metadata returned by TIND |
Member
There was a problem hiding this comment.
Suggested change
| :param str modified: Optional modified timestamp from the file metadata returned by TIND | |
| :param str modified: Optional modified timestamp from the file metadata returned by TIND. | |
| If not specified, the file will always be downloaded. |
Member
|
It would be nice to have a test. We should be able to mock |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.