Skip to content

Fix copyfile fallback when server-side SMB copy is unsupported#337

Open
K3N44N wants to merge 1 commit intojborean93:masterfrom
K3N44N:master
Open

Fix copyfile fallback when server-side SMB copy is unsupported#337
K3N44N wants to merge 1 commit intojborean93:masterfrom
K3N44N:master

Conversation

@K3N44N
Copy link

@K3N44N K3N44N commented Mar 6, 2026

smbclient.shutil: fallback to client-side copy if server-side copy unsupported

Catch SMBOSError with STATUS_NOT_SUPPORTED from smbclient_copyfile and fallback to copyfileobj so copyfile() still succeeds on servers that do not support server-side SMB copy.

Add test covering the fallback behavior.

Fixes #232

This is my first time contributing here, please let me know if I missed anything or my PR requires any changes.

…supported

Catch SMBOSError with STATUS_NOT_SUPPORTED from smbclient_copyfile and
fallback to copyfileobj so copyfile() still succeeds on servers that do
not support server-side SMB copy.

Add test covering the fallback behavior.

Fixes jborean93#232
@jborean93
Copy link
Owner

Thanks for the PR, looks like there's just some formatting changes that need to be made but overall the changes and tests look great.

You can auto format the code with

python -m pip install -r requirements-dev.txt
python -m black .
python -m isort .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

smbclient.shutil.copy*() should fallback if server side SMB copy isn't available

2 participants