The assign part works good. It’s just that it does not match the query.
Here is the configuration (I include the inline config also, for clarity):
item_fields:
initial: (albumartist_sort or artist_sort or albumartist or artist or '_')[0].upper()
disc_count: u'%02i.' % (disc)
disc_and_track: u'%02i.%02i' % (disc, track) if
disctotal > 1 else u'%02i' % (track)
definite_year: u'%04i' % original_year or original_date[:3] or year or date[:3] or 0
album_fields:
cond_release_category: |
if albumstatus.lower()=='official':
if albumtype.lower() in ['album', 'compilation', 'ep']:
return None
elif supergenre=='Soundtrack' and albumtype.lower() in ['soundtrack']:
return None
else:
return albumtype.capitalize()
else:
return albumstatus.capitalize()
boxset_folder: |
if boxset==1:
boxdisc_folder=u'%i. %s' % disc, disctitle
if boxdisc_year: boxdisc_folder=u'%s %s' % boxdisc_folder, boxdisc_year
return boxdisc_folder
else:
return None
paths:
default: $supergenre/%asciify{$initial}/$albumartist/%if{$cond_release_category,$cond_release_category/}[$definite_year] $album%aunique{albumartist album,albumdisambig label catalognum year}/$disc_and_track - $title
boxset:1: $supergenre/%asciify{$initial}/$albumartist/%if{$cond_release_category,$cond_release_category/}[$definite_year] $album%aunique{albumartist album,albumdisambig label catalognum year}/$disc_count $disctitle%ifdef{boxdisc_year, ($boxdisc_year)}/$track - $title
singleton: Non-Album/$artist - $title
comp: $supergenre/Compilations/$album%aunique{}/$disc_and_track - $title
supergenre:Soundtrack: Soundtrack/$album/%if{$disctotal>1,$disc.}$track $title
It looks like the path query fails because the supergenre attribute is defined at album level. For example:
user@beethost:~$ beet ls supergenre:Soundtrack
user@beethost:~$ beet ls -a supergenre:Soundtrack
...
Michael Nyman - The Piano
...
user@beethost:~$ ls -l /music/Soundtrack/N/Michael\ Nyman/
total 0
drwxrwxr-x 2 user user 0 Jan 26 08:50 [1993] The Piano
You can see that the path follows the default pattern. BTW, if I give the command ‘beet move’ it will remain unchanged.
Hope this helps.