Skip to content

Conversation

@jjjake
Copy link
Owner

@jjjake jjjake commented Jan 26, 2026

No description provided.

jjjake and others added 5 commits January 22, 2026 17:03
- Remove Python 2 compatibility pattern of encoding file paths to UTF-8
  bytes before passing to os.path.exists(), os.stat(), open(), etc.
  These functions work directly with strings in Python 3.
- Fix bug where headers dict was overwritten instead of updated when
  adding Range header for resume, which would lose existing headers.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Adds global CLI options to output curl commands for debugging:
- --print-curl: prints curl command with auth redacted
- --print-curl-auth: prints curl command with full auth (exposes secrets)

Metadata GETs are executed (needed to construct subsequent requests),
all other requests print the curl command and exit without executing.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Raises ItemLocateError early in modify_metadata when:
- Item is dark (is_dark=True)
- Item does not exist (exists=False)

This prevents confusing KeyError exceptions when trying to build
a metadata patch from incomplete item data.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add changelog entries for curl output feature, files.py fixes, and
  dark item check
- Fix line length in CLAUDE.md (102, not 90)
- Add note about updating HISTORY.rst for changes

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Tests cover:
- Basic curl command generation
- Auth redaction (headers and body)
- --compressed flag with Accept-Encoding
- Binary body handling

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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.

2 participants