rlhelinski / musicbrainz-catalog

Python code for cataloging your music collection cross-referenced with MusicBrainz
GNU General Public License v2.0
2 stars 0 forks source link

Add track title search feature #32

Closed rlhelinski closed 10 years ago

rlhelinski commented 10 years ago

Will need to add corresponding shell command and database table for searching for tracks by title.
This will require a table mapping words to track (recording) UUIDs and another table mapping those track (recording) UUIDs to release UUIDs. So, the flow will be: (1) enter search terms, (2) get a list of tracks (recordings) that include all the terms, (3) select a track (recording) and (4) print a list of releases on which that track (recording) appears.

rlhelinski commented 10 years ago

Usage example:

Enter command ('h' for help): track search
Search for a track (recording) by words and show the releases on which it appears.
Enter search terms (or recording ID): only you
5 matches found:
0 48342b60-5d82-40cb-a9b9-0032afa45a68: If You Could Only See (4:25)
1 4c986184-424a-44bb-ad23-b6261f3d044f: Why’d You Only Call Me When You’re High? (2:41)
2 10caea12-6105-44fb-bb07-f3a801646f70: Only You Know and I Know (4:21)
3 e97a92e7-ef42-4feb-937d-bf50b5967442: Only Wanna Be With You (3:49)
4 512106d9-013e-434c-9360-6891caab1170: If You Could Only See (4:23)
Select a match: 3

Appears on:
0 3827d42e-ae55-4d01-a4a8-699ffc750c30 : Hootie & Blowfish, The - 1994-07-05 - Cracked Rear View  [Compact Disc]
rlhelinski commented 10 years ago

One last change needed: rebuildCacheTables() should drop the tables and rebuild them so that the schema is updated from previous revisions. The table-creation code should be shared with the procedure in _createTables().

rlhelinski commented 10 years ago

Closed with e0b63540397fb165827807eb1fc7529d9c61b280