refactor!: rename somafm-tui to beefy-player
The app is now a general internet-radio player rather than a SomaFM client, so the package, console script, MPRIS identity, mpv namespaces, macOS tap names, XDG directories and docs all move to beefy-player. Environment variables are now BEEFY_* (the old SOMAFM_* spellings are still honoured) and an existing ~/.config/somafm-tui/config.json is migrated on first run, so favourites and volume survive the rename. The visible interface is untouched: same layout, same logo, same keys.
This commit is contained in:
1 parent
4bed90b489
commit
e30ca09627
44 files changed
+329
-192
No files matched your search
+11
-11
@@ -5,7 +5,7 @@ import queue
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
from somafm_tui.player import Player
|
||||
from beefy_player.player import Player
|
||||
|
||||
FAKE_MPV = '''#!/usr/bin/env python3
|
||||
import json, os, socket, sys, time
|
||||
@@ -171,27 +171,27 @@ def test_backend_detection_without_tools(tmp_path, monkeypatch) -> None:
|
||||
def test_media_key_messages_become_player_events() -> None:
|
||||
player = Player()
|
||||
player._handle_mpv_message(
|
||||
{"event": "client-message", "args": ["somafm", "next"]}
|
||||
{"event": "client-message", "args": ["beefy", "next"]}
|
||||
)
|
||||
event = player.events.get_nowait()
|
||||
assert event.kind == "media"
|
||||
assert event.detail == "next"
|
||||
|
||||
player._handle_mpv_message(
|
||||
{"event": "client-message", "args": ["somafm", "toggle"]}
|
||||
{"event": "client-message", "args": ["beefy", "toggle"]}
|
||||
)
|
||||
assert player.events.get_nowait().detail == "toggle"
|
||||
|
||||
# Foreign namespaces, unknown commands and malformed payloads are ignored.
|
||||
player._handle_mpv_message({"event": "client-message", "args": ["other", "next"]})
|
||||
player._handle_mpv_message({"event": "client-message", "args": ["somafm", "seek"]})
|
||||
player._handle_mpv_message({"event": "client-message", "args": ["beefy", "seek"]})
|
||||
player._handle_mpv_message({"event": "client-message", "args": None})
|
||||
player._handle_mpv_message({"event": "client-message"})
|
||||
assert player.events.empty()
|
||||
|
||||
|
||||
def test_platform_options_never_leak_to_linux(tmp_path, monkeypatch) -> None:
|
||||
import somafm_tui.player as player_module
|
||||
import beefy_player.player as player_module
|
||||
|
||||
monkeypatch.setattr(player_module, "RUNTIME_DIR", tmp_path)
|
||||
assert Player()._platform_options("linux") == []
|
||||
@@ -203,12 +203,12 @@ def test_platform_options_never_leak_to_linux(tmp_path, monkeypatch) -> None:
|
||||
assert conf.endswith("mpv-input.conf")
|
||||
bindings = (tmp_path / "mpv-input.conf").read_text()
|
||||
for line in (
|
||||
"PLAY script-message somafm toggle",
|
||||
"PLAYONLY script-message somafm play",
|
||||
"PAUSEONLY script-message somafm pause",
|
||||
"STOP script-message somafm stop",
|
||||
"NEXT script-message somafm next",
|
||||
"PREV script-message somafm prev",
|
||||
"PLAY script-message beefy toggle",
|
||||
"PLAYONLY script-message beefy play",
|
||||
"PAUSEONLY script-message beefy pause",
|
||||
"STOP script-message beefy stop",
|
||||
"NEXT script-message beefy next",
|
||||
"PREV script-message beefy prev",
|
||||
):
|
||||
assert line in bindings
|
||||
|
||||
|
||||
Reference in new issue
Block a user