beetbox / beetbox/beets

default query that affects entire library is dangerous

Open
#1,286 16 comments 0 reactions 0 assignees View on GitHub
discussion
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

Maybe this is subjective, but I don't think so... Basically, the default query being '' is extremely dangerous. A simple typo on the command line can result in something quite bad such as:

beet modify genre="Electro"

Which is the same as:

beet modify genre="Electro" ""

It should take a lot more deliberateness to do a library-wide change like that. And in fact, something like "beet info" does the right thing in that "beet info" does nothing and you have to issue:

beet info ' '

To get "all". Which, by the way, is a second argument for making this change. Probably we want consistency across the various command line arguments as much as possible.

Related, arguably, the query for all should be "*", but maybe that's a whole separate ticket.

Contributor guide

Open the contributing guide

Research direction

Start by reading the command-line handling for `beet modify` and `beet info`, especially how an empty query is interpreted. Compare their current behavior with the proposed deliberate all-library query, including whether `*` is in scope; done when library-wide changes require explicit input and related commands are consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.