Repository navigation
Reject nonexistent requested paths during asset discovery - #1932
AtomicGlance wants to merge 6 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1932 +/- ##
==========================================
+ Coverage 90.77% 90.83% +0.05%
==========================================
Files 92 92
Lines 14130 14167 +37
==========================================
+ Hits 12826 12868 +42
+ Misses 1304 1299 -5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
This PR is ready for review, but GitHub won't let me remove its draft status, through either the website or CLI. Could you please mark it ready and add the |
@yarikoptic Hi, can you have a look at this? |
|
Hi @yarikoptic, thanks again for the review! Could you please rerun the failed and cancelled jobs in the latest Tests workflow, and the cancelled label check, when you have a chance? Both failed Windows jobs report that the hosted runner lost communication with GitHub; neither provides a test failure traceback. I tried requesting a rerun, but GitHub returned a 403 because it requires repository admin rights. The explicit |
|
Hi @yarikoptic, a gentle follow-up when you have a moment: could you please rerun the failed and cancelled jobs in the Tests workflow and the cancelled label check? The latest results are still from October 5. Both failed Windows jobs reported a runner disconnection; your requested My related Archive fix, dandi/dandi-archive#2914, is also waiting for review. Only the deployment-preview check is reported there, so I can't claim the backend suite is green. If someone else is better placed to review it or enable the backend tests, could you point me their way? Thanks again for your time and guidance! |
|
clicking "Update branch". Next time if you need rerun -- just make sure it is up to date with current master and/or rewrite/force push last commit. |
Fixes #1094.
find_dandi_files() currently allows nonexistent paths to be silently ignored or represented as assets. This change checks every requested root before yielding any files and raises FileNotFoundError with the offending filename.
The check uses lstat() so broken symlinks remain discoverable. This preserves DANDI’s missing-content handling for unfetched DataLad files. Existing empty directories still return no assets, and no additional recursive walk is introduced.
Tests cover missing paths with recognized, unrecognized, and hidden names; both allow_all settings; multiple requested roots; empty directories; and broken symlinks. A CLI regression test also confirms that dandi validate retains its existing missing-path error.
Validation on Windows with Python 3.13: