fix: restore task() actor kwarg (accept-and-ignore) for caller compatibility

the original task() accepted an actor kwarg and ignored it (task actions are always attributed to SYSTEM/TASK); the rewrite dropped the param, so live callers passing task(..., actor=...) hit a TypeError. added actor=None back, accept-and-ignore, behavior unchanged. bump to v0.1.1. (feed() stays out of the base by design — consumers subclass.)

Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
disqualifier 2026-06-29 03:18:13 -04:00
parent f480a7c077
commit 3e9b05a8e8
4 changed files with 30 additions and 5 deletions

View File

@ -10,13 +10,13 @@ live from `bot.settings` so it can change at runtime via a command.
`requirements.txt`:
```
dpy_logger @ git+ssh://git@git.rethinkstudios.io/rethink-public/dpy_logger.git@v0.1.0
dpy_logger @ git+ssh://git@git.rethinkstudios.io/rethink-public/dpy_logger.git@v0.1.1
```
Direct:
```bash
pip install "dpy_logger @ git+ssh://git@git.rethinkstudios.io/rethink-public/dpy_logger.git@v0.1.0"
pip install "dpy_logger @ git+ssh://git@git.rethinkstudios.io/rethink-public/dpy_logger.git@v0.1.1"
```
Requires `discord.py` (pulled transitively).

21
ledger.md Normal file
View File

@ -0,0 +1,21 @@
# dpy_logger — ledger
## v0.1.1
- **fidelity fix (HIGH):** restored the `actor` kwarg on `task()` (accept-and-ignore).
The original accepted `actor` and ignored it (task actions are always attributed to
SYSTEM/TASK); the rewrite dropped the param, so live callers passing
`task(..., actor=...)` hit a `TypeError`. Param is back, behavior unchanged.
- guild-id comparison fix: `_get_channel` compares by `.id` so an uninitialized int
guild routes to the constructed channel instead of falling through to settings.
- docstring/README error-contract accuracy: resolution raises from `initialize()` (type
may be `ValueError` or an underlying discord exception); per-call resolution + send
failures are swallowed to the stdlib fallback.
Note: `feed()` is intentionally NOT on the base class — consumers subclass to add it
(see README "Adding a log type").
## v0.1.0
- initial: leveled discord channel logger (debug/info/success/fail/task/critical),
dual-sink (channel + stdlib), embed_builder hook, dynamic per-guild routing.

View File

@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project]
name = "dpy_logger"
version = "0.1.0"
version = "0.1.1"
description = "Leveled Discord channel logger for discord.py — config-free, injectable, installable."
requires-python = ">=3.10"
dependencies = [

View File

@ -206,8 +206,12 @@ class DPYLogger:
failure = fail
async def task(self, log, action=None, guild=None, log_to_file=None):
"""log a task-level message with SYSTEM/TASK as the actor"""
async def task(self, log, action=None, actor=None, guild=None, log_to_file=None):
"""log a task-level message with SYSTEM/TASK as the actor
actor is accepted for caller compatibility and ignored task actions are
always attributed to SYSTEM/TASK regardless of the caller-supplied actor
"""
return await self._send("task", log, action, "SYSTEM/TASK", guild, log_to_file)
async def critical(self, log, action=None, actor=None, guild=None, log_to_file=None):