⬆️ version bump to v4.5

- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5"
- Update version.txt from 4.29 → .30
(automated by Makefile)
This commit is contained in:
Eric Coissac
2026-04-07 08:36:50 +02:00
parent 670edc1958
commit 8c7017a99d
392 changed files with 18875 additions and 141 deletions
+19
View File
@@ -0,0 +1,19 @@
# `obiutils` Package: Semantic Overview
The `xopen.go` test suite (via GoCheck) validates utility functions for flexible file/stream I/O in Go. Key features:
- **`IsGzip()`**: Detects gzip compression by inspecting the first two bytes (`0x1f 0x8b`) of a `bufio.Reader`.
- **`Ropen()`**: Unified reader opener supporting:
- Local files (plain or `.gz`)
- Standard input (`"-"`) — *note: currently unimplemented in tests*
- HTTP(S) URLs (via `net/http`)
- **`Wopen()`**: Unified writer opener for:
- Local files (`".gz"` triggers gzip compression)
- Standard output via `"-"`
- **`Exists()`**: Checks file/directory existence (supports `~` expansion).
- **`ExpandUser()`**: Expands shell-like paths (`~/...`) to absolute ones.
- **Tested robustness**:
- Handles missing files, invalid URLs (404), and malformed paths.
- Validates gzip detection accuracy on both plain and compressed data.
All operations abstract away compression/format details, enabling uniform read/write semantics across local files, pipes (commented out), and remote HTTP resources.