Hello! I think the problem here is that using `-a STR` is passing the entire 
string—including the query and the modification—as a single argument. So this 
looks to beets like just one query argument and no modifications.

So perhaps one solution would be to run your command in a shell. That is, use 
`sh -c` followed by the `beet` command, which will let the shell parse your 
quotes and spaces to pass two arguments to the underlying command.

Good luck!

Adrian


> On May 4, 2018, at 1:25 AM, Wism <[email protected]> wrote:
> 
> Hi there!
> I'm trying to batch modify a dozen of albums with wrong original_year 
> (probably from discogs imports); I found out that the "modify" command 
> doesn't (yet?) accept templates, so I thought of a simple xargs command; but 
> I'm banging my head against it without any results.
> 
> I built the arguments with a simple
> 
> beet ls -a original_year:0000 -f'"album:$album" original_year=$year'
> 
> that returns the correct list of arguments:
> 
> "album:Ten Bulls" original_year=1998
> "album:Amarantine (Special Christmas Edition)" original_year=2006
> "album:Absolutely Free" original_year=1967
> "album:Freak Out!" original_year=1966
> "album:Uncle Meat" original_year=1968
> [...]
> 
> but when I try to pass these lines to "beet modify" via xargs, something goes 
> wrong:
> 
> beet ls -a original_year:0000 -f'"album:$album" original_year=$year' | xargs 
> -p -I STR -- beet modify -a STR
> 
> this command echoes a commandline (for confirmation, with the -p xargs 
> argument) that seems to be perfect:
> 
> beet modify -a "album:Ten Bulls" original_year=1998 ?...
> 
> but when I confirm the execution, beets returns 
> 
> error: no modifications specified
> 
> If I copy and paste the command to test the syntax, it's executed correctly. 
> What am I missing?
> 
> For the sake of completeness, I have to use the xargs -I syntax because my 
> version of the command (docker contained) doesn't support the -d argument.
> 
> Thank you!
> -- 
> You received this message because you are subscribed to the Google Groups 
> "beets" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"beets" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to