diff --git a/lrx_cli/lrc.py b/lrx_cli/lrc.py index c207dd6..cbb9f63 100644 --- a/lrx_cli/lrc.py +++ b/lrx_cli/lrc.py @@ -254,7 +254,7 @@ def to_plain( prev_line = line lines = deduped_lines - return "\n".join(lines) + return "\n".join(lines).strip("\n") def print_lyrics( diff --git a/pyproject.toml b/pyproject.toml index 02a9bd0..9df3150 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "lrx-cli" -version = "0.1.7" +version = "0.2.0" description = "Fetch line-synced lyrics for your music player." readme = "README.md" requires-python = ">=3.13" @@ -25,7 +25,4 @@ lrx = "lrx_cli.cli:run" ignore = ["E402"] [dependency-groups] -dev = [ - "pytest>=9.0.2", - "ruff>=0.15.8", -] +dev = ["pytest>=9.0.2", "ruff>=0.15.8"] diff --git a/tests/test_lrc.py b/tests/test_lrc.py index 839c1ac..15d670c 100644 --- a/tests/test_lrc.py +++ b/tests/test_lrc.py @@ -182,3 +182,11 @@ def test_to_plain_fallback_for_non_synced_text_strips_start_tags() -> None: plain = to_plain(text) assert plain == "only-zero\nplain line" + + +def test_to_plain_trims_leading_and_trailing_blank_lines() -> None: + text = "\n\n[00:01.00]line1\n\n[00:01.00]\n[00:02.00]line2\nline3\n\n" + + plain = to_plain(text) + + assert plain == "line1\n\nline2" diff --git a/uv.lock b/uv.lock index 002986e..4e8a5ff 100644 --- a/uv.lock +++ b/uv.lock @@ -153,7 +153,7 @@ wheels = [ [[package]] name = "lrx-cli" -version = "0.1.7" +version = "0.2.0" source = { editable = "." } dependencies = [ { name = "cyclopts" },