Skip to content

Add sync CLI commands for managing and running synced playlists - #114

Merged
semohr merged 15 commits into
mainfrom
cli_refactor
Sep 4, 2026
Merged

semohr merged 15 commits into
mainfrom
cli_refactor

Conversation

@semohr

@semohr semohr commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the plistsync sync subcommand group with:

  • sync create (alias mk): create a named synced playlist
  • sync remove (alias rm): remove a synced playlist (with confirmation prompt)
  • sync list (alias ls): list all synced playlists
  • sync register: link an existing service playlist to a synced playlist
  • sync show: show the per-playlist track overview of a synced playlist
  • sync run: run the synchronisation for one or all synced playlists

Details

  • Commands accept a synced playlist by name or ID; ambiguous/missing matches raise a clear error.
  • Shell autocompletion for synced playlist names and IDs on applicable arguments.
  • --json output on create, remove, list, and register for scripting.
  • run with no argument synchronises all registered synced playlists.
  • Refactors cli setup to use its own module for the commands

TODO

  • Improve test coverage

@semohr
semohr deployed to integration_tests August 14, 2026 16:11 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 14, 2026 16:11 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown

Thank you for the PR! The changelog has not been updated, so here is a friendly reminder to check if you need to add an entry.

@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.10314% with 2 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
plistsync/__main__.py 0.00% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

@semohr
semohr deployed to integration_tests August 14, 2026 16:14 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 14, 2026 16:14 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 18, 2026 11:35 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 18, 2026 11:35 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 18, 2026 12:01 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 18, 2026 12:01 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 22, 2026 20:26 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests August 22, 2026 20:26 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests September 3, 2026 20:12 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests September 3, 2026 20:12 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests September 3, 2026 20:12 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests September 3, 2026 20:12 — with GitHub Actions Active
@pSpitzner
pSpitzner deployed to integration_tests September 3, 2026 21:02 — with GitHub Actions Active
@pSpitzner
pSpitzner deployed to integration_tests September 3, 2026 21:02 — with GitHub Actions Active
@pSpitzner
pSpitzner deployed to integration_tests September 4, 2026 08:08 — with GitHub Actions Active
@pSpitzner
pSpitzner deployed to integration_tests September 4, 2026 08:08 — with GitHub Actions Active
Base automatically changed from config_refactor to main September 4, 2026 11:10
@semohr
semohr deployed to integration_tests September 4, 2026 11:10 — with GitHub Actions Active
@semohr
semohr deployed to integration_tests September 4, 2026 11:10 — with GitHub Actions Active
@semohr
semohr merged commit 6f630ed into main Sep 4, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants