AcademySoftwareFoundation / AcademySoftwareFoundation/OpenRV

findSequenceOnDisk does not find files on Samba shares with mismatched case (POSIX case-insensitivity)

Open
#988 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.