From 4642035306f8f33813c3a0dfe74306d2408eec17 Mon Sep 17 00:00:00 2001 From: "Walter A. Boring IV" Date: Fri, 28 Aug 2026 11:18:26 -0400 Subject: [PATCH] fix: rename 'list' variable in HelpPlugin to avoid shadowing Python builtin (#233) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: rename 'list' variable in HelpPlugin to avoid shadowing Python builtin Closes #15 aprsd/plugin.py HelpPlugin.process() used 'list' as a local variable name, shadowing the Python built-in list type. Renamed to 'plugin_names'. * ci: fix CI workflow for Forgejo self-hosted runners - Switch runs-on from ubuntu-latest to docker (node:20-bookworm) ubuntu-latest runner has no Node.js so actions/checkout@v4 fails - Replace actions/setup-python@v5 (broken on self-hosted) with uv - Use tox-uv instead of pip-installed tox for faster installs * ci: use catthehacker/ubuntu:act-latest container (matches haminfo working CI) * ci: fix master-build.yml for Forgejo self-hosted runners Use catthehacker/ubuntu:act-latest container + uv for tox, matching the working pattern from haminfo. Removes broken actions/setup-python@v2 + ubuntu-latest bare runner combo. * ci: revert workflow changes - Forgejo-specific, not for GitHub Actions * ci: restrict master-build to master branch and tags only The Docker build job clones from GitHub by branch name, which fails for feature branches (sanitized slash → name mismatch). This workflow should only run on master pushes and version tags, not on PRs. * docs: add unreleased changelog entries for PR #233 * docs: update changelog for 5.0.1 release --- .github/workflows/master-build.yml | 5 +---- ChangeLog.md | 10 ++++++++++ aprsd/plugin.py | 10 +++++----- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.github/workflows/master-build.yml b/.github/workflows/master-build.yml index 7ee9b07..021564d 100644 --- a/.github/workflows/master-build.yml +++ b/.github/workflows/master-build.yml @@ -5,12 +5,9 @@ on: - cron: "0 10 * * *" push: branches: - - "**" + - "master" tags: - "*.*.*" - pull_request: - branches: - - "master" jobs: tox: diff --git a/ChangeLog.md b/ChangeLog.md index 1536c9e..7c22574 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [5.0.1](https://github.com/craigerl/aprsd/compare/5.0.0...5.0.1) + +##### Bug Fixes + +- Fix HelpPlugin shadowing Python builtin `list` with local variable [`7118e23`](https://github.com/craigerl/aprsd/commit/7118e23) + +##### CI + +- Restrict master-build workflow to master branch and tags only [`3261883`](https://github.com/craigerl/aprsd/commit/3261883) + #### [5.0.0](https://github.com/craigerl/aprsd/compare/4.3.0...5.0.0) > 11 June 2026 diff --git a/aprsd/plugin.py b/aprsd/plugin.py index 1e75e28..d894ceb 100644 --- a/aprsd/plugin.py +++ b/aprsd/plugin.py @@ -300,16 +300,16 @@ class HelpPlugin(APRSDRegexCommandPluginBase): if reply: return reply - list = [] + plugin_names = [] for p in pm.get_plugins(): LOG.debug(p) if p.enabled and isinstance(p, APRSDRegexCommandPluginBase): name = p.command_name.lower() - if name not in list and 'help' not in name: - list.append(name) + if name not in plugin_names and 'help' not in name: + plugin_names.append(name) - list.sort() - reply = ' '.join(list) + plugin_names.sort() + reply = ' '.join(plugin_names) lines = textwrap.wrap(reply, 60) replies = ["Send APRS MSG of 'help' or 'help '"] for line in lines: