archive: move legacy/unported modules out of the live tree
Nothing in the asyncio core imports any of these; they are moved to archive/
(history preserved) and dropped from pyproject.toml py-modules:
* bridge_all.py -- forward-everything proxy, never ported to the asyncio core
(imports the Twisted-era reportFactory -> ImportError today).
* playback.py -- talkback/parrot app (connects like a repeater, plays a stream
back). Twisted-based; earmarked to return as an OmniLink adapter.
* play_ambe.py / mk_voice.py / voice_lib.py -- Twisted-era voice test utilities.
* reporting_const.py -- REPORT_OPCODES for the old pickle/opcode reporting
protocol, superseded by the NDJSON feed; it was imported but never used.
Also removes the now-dead `from reporting_const import *` (hblink.py) and the
unused REPORT_OPCODES name from bridge.py's hblink import. Docs/service updated
(README app table, INSTALL run + legacy note, hblink3.service comment,
dashboard/FIELDS.md); archive/README.md explains what's there and why. Suite
still 74/74.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
f21eca42b0
commit
aae53890f7
16 files changed
+24
-11
No files matched your search
+1
-3
@@ -64,8 +64,6 @@ Every system named in `rules.py` must exist and be enabled in `hblink.cfg`. **Up
|
||||
source venv/bin/activate
|
||||
python bridge.py -c hblink.cfg -r rules.py # conference-bridge router (main app)
|
||||
# or
|
||||
python bridge_all.py -c hblink.cfg # forward-everything proxy
|
||||
# or
|
||||
python hblink.py -c hblink.cfg # protocol core, standalone server/outbound
|
||||
```
|
||||
|
||||
@@ -96,4 +94,4 @@ sudo systemctl restart hblink3
|
||||
|
||||
## Notes
|
||||
|
||||
- The legacy voice utilities (`playback.py`, `play_ambe.py`) are **not** migrated to asyncio and will not run against the current core.
|
||||
- Legacy, unmaintained code lives in [`archive/`](archive/) and is excluded from packaging. It includes the Twisted-era voice utilities (`playback.py`, `play_ambe.py`, `mk_voice.py`, `voice_lib.py`), the old opcode reporting constants (`reporting_const.py`), and `bridge_all.py` (a forward-everything proxy that was never ported to the asyncio core). None of it runs against the current core.
|
||||
@@ -15,7 +15,6 @@ HBlink3 is an open-source implementation of the DMR **HomeBrew Repeater Protocol
|
||||
| Program | Purpose |
|
||||
|---|---|
|
||||
| `bridge.py` | The main application: a configurable conference-bridge call router with dynamic on/off triggering, timeouts, and private (unit) call routing. |
|
||||
| `bridge_all.py` | A simple proxy that forwards all traffic between every configured system — makes several repeaters appear as one. |
|
||||
| `hblink.py` | The protocol core. Runs standalone as a server/outbound system for testing, and is the module the applications are built on. |
|
||||
|
||||
## Features
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# archive/
|
||||
|
||||
Legacy, unmaintained code kept for reference. **None of it runs against the
|
||||
current asyncio core**, and it is excluded from packaging (`pyproject.toml`).
|
||||
Nothing in the live code path imports anything here.
|
||||
|
||||
| File | What it was | Why it's here |
|
||||
|---|---|---|
|
||||
| `bridge_all.py` | A "forward-everything" proxy (every system bridged to every other). | Never ported to the asyncio core — still imports the Twisted-era `reportFactory`, so it fails at import. |
|
||||
| `playback.py` | A talkback/parrot app: connected like a repeater and played a call stream back so users could hear themselves. | Twisted-based. **Earmarked to return as an OmniLink adapter** — running it as a separate process that connects like a repeater (tied to a system or bridge) keeps the repeat-back off the routing hot path, which is why it was standalone here too. |
|
||||
| `play_ambe.py` | Played canned AMBE/voice sequences into a system for testing. | Twisted-based; depends on the voice utilities below. |
|
||||
| `mk_voice.py` | Built synthetic voice/AMBE packet sequences. | Only used by `play_ambe.py`. |
|
||||
| `voice_lib.py` | Word/AMBE sample library for the voice utilities. | Only used by `mk_voice.py` / `play_ambe.py`. |
|
||||
| `reporting_const.py` | `REPORT_OPCODES` for the old pickle/opcode reporting protocol. | Superseded by the newline-delimited-JSON reporting feed; no longer referenced. |
|
||||
|
||||
If any of these is revived, port it to the asyncio core and the NDJSON reporting
|
||||
feed first.
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -38,7 +38,7 @@ import importlib.util
|
||||
import asyncio
|
||||
|
||||
# Things we import from the main hblink module
|
||||
from hblink import HBSYSTEM, OPENBRIDGE, systems, hblink_handler, ReportServer, config_reports, REPORT_OPCODES, mk_aliases, run_periodic
|
||||
from hblink import HBSYSTEM, OPENBRIDGE, systems, hblink_handler, ReportServer, config_reports, mk_aliases, run_periodic
|
||||
from dmr_utils3.utils import bytes_3, int_id, get_alias
|
||||
from dmr_utils3 import decode, bptc, const
|
||||
import config
|
||||
|
||||
+2
-2
@@ -114,8 +114,8 @@ for a non-local dashboard or a feed interruption).
|
||||
## Conference Bridges
|
||||
|
||||
One table per conference bridge defined in `rules.py`, with a row per member
|
||||
system. (Empty if you're running `bridge_all` or standalone `hblink.py`, which
|
||||
have no conference-bridge rules.)
|
||||
system. (Empty if you're running standalone `hblink.py`, which has no
|
||||
conference-bridge rules.)
|
||||
|
||||
| Column | Meaning |
|
||||
|---|---|
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -49,7 +49,6 @@ from dmr_utils3.utils import int_id, bytes_4, try_download, mk_id_dict
|
||||
|
||||
# Imports for the reporting server
|
||||
import json
|
||||
from reporting_const import *
|
||||
|
||||
# The module needs logging logging, but handlers, etc. are controlled by the parent
|
||||
import logging
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@
|
||||
#
|
||||
# Adjust User/Group and the paths below to your install. bridge.py defaults to
|
||||
# hblink.cfg and rules.py in its own directory; pass -c/-r in ExecStart to use
|
||||
# other files. To run a different app (e.g. the plain proxy), point ExecStart at
|
||||
# bridge_all.py or hblink.py instead.
|
||||
# other files. To run the protocol core standalone, point ExecStart at hblink.py
|
||||
# instead.
|
||||
|
||||
[Unit]
|
||||
Description=HBlink3 DMR Conference Bridge Router
|
||||
|
||||
+1
-1
@@ -44,4 +44,4 @@ Homepage = "https://github.com/n0mjs710/hblink3"
|
||||
# The core routing modules. Listed explicitly because they are top-level modules
|
||||
# rather than a package, so a `pip install .` resolves them correctly.
|
||||
[tool.setuptools]
|
||||
py-modules = ["hblink", "bridge", "bridge_all", "config", "const", "log", "reporting_const"]
|
||||
py-modules = ["hblink", "bridge", "config", "const", "log"]
|
||||
Reference in new issue
Block a user