-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Imageset paths()
manipulates paths according to OS, breaking filename checking in DIALS image grouping code
#771
Comments
This is the immediate cause of this test failure on Windows |
In this case,
|
Should we be expecting to see this anywhere outside of stills_process? I thought this was only for handling inside there? |
No idea about |
Short reproducer of the issue
|
I think here is where it goes wrong: dxtbx/src/dxtbx/model/experiment_list.py Lines 521 to 524 in ea6fd5f
Calling this: dxtbx/src/dxtbx/serialize/filename.py Lines 6 to 24 in ea6fd5f
|
.. I think that this handling is possibly necessary because we retain the ability to have relative path names, which AFAIK we only use in tests? If this was always required to be absolute, we could probably skip this? Or alternatively, only do this replacement if it ends up pointing to a file that actually exists, otherwise leave it as the original filename? |
Damn, your mention of |
I wonder if this is actually the best way to resolve:
|
That makes a lot of sense |
Nope, #772 did not work at Diamond |
This code in DIALS gets called by
xia2.ssx_reduce
:The call to
iset.paths()
on Windows returns something like thisThe original path (a location on the DLS file system) has been manipulated by adding a drive letter and altering the path separator. This causes a failure later on when these paths are checked against cached file names in a dictionary (
if iset == ifile.name
), because the manipulated path does not match the expected path and we end up withThe text was updated successfully, but these errors were encountered: