AcademySoftwareFoundation / AcademySoftwareFoundation/OpenRV
findSequenceOnDisk does not find files on Samba shares with mismatched case (POSIX case-insensitivity)
- Dominant language
- C++
- Stars
- 764
- Forks
- 246
- Avg merge
- 6d 12h
- Merged PRs (30d)
- 13
Description
### What happened?
On a Linux system accessing files stored on a Samba (case-insensitive) share, the `findSequenceOnDisk` method fails to find files if the on-disk filenames have different case than what is provided in the search pattern. This is inconsistent with the behavior of `os.path.exists()` and the practical case-insensitivity of such setups.
While the documentation and code assume POSIX means case-sensitive, many modern POSIX filesystems or networked filesystems (like Samba) are not strictly case-sensitive.
This may not strictly be a "bug" (since the documented behavior is POSIX/regex style), but it is easy for users to be surprised if they work cross-platform, especially when the behavior differs from the actual underlying file visibility.
### List all the operating systems versions where this is happening
Linux (tested over a Samba share). Likely affects any POSIX system accessing a case-insensitive (e.g., SMB or FAT32) filesystem.
### On what computer hardware is this happening?
Standard workstation; not hardware-dependent.
### Relevant console log output
```shell
raises:
fileseq.exceptions.FileSeqException: no sequence found on disk matching /path/to/seq.####.exr
```
### Environment variables
N/A, no unusual environment variables.
### Extra information
In a future versin, if the project considers raising minimum Python requirement to 3.12, it could consider using glob's new case-sensitivity options to match what the filesystem supports. I don't think this requires a fix but I wanted to flag it, as we bumped into it in production.
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
Start by locating findSequenceOnDisk and compare its behavior with os.path.exists() when the path is on a Samba share. Review the glob case-sensitivity options mentioned for Python 3.12; the scope is unresolved because the report does not request a specific fix, and completion would require deciding the expected behavior for case-insensitive POSIX filesystems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100