@@ -183,12 +183,13 @@ def info_cmd(patch):
183183@click .option ("-d" , "--db_file" , help = "Database file for the local collection" , required = False , is_flag = False )
184184@click .option ('-t' , '--threshold' , default = .80 , help = "Minimum match percentage for metadata matches. Must be 0.0 - 1.0" )
185185@click .option ('-u' , '--upload-to-subsonic' , required = False , is_flag = True , help = "upload playlist via subsonic API" )
186+ @click .option ('-i' , '--subsonic-id' , required = False , help = "overwrite existing subsonic playlist with the given ID" )
186187@click .option ('-m' , '--save-to-m3u' , required = False , help = "save to specified m3u playlist" )
187188@click .option ('-j' , '--save-to-jspf' , required = False , help = "save to specified JSPF playlist" )
188189@click .option ('-y' , '--dont-ask' , required = False , is_flag = True , help = "save playlist without asking user" )
189190@click .option ('-q' , '--quiet' , 'quiet' , help = "Do no print out anything" , required = False , is_flag = True )
190191@click .argument ('jspf_playlist' )
191- def resolve (db_file , threshold , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask , quiet , jspf_playlist ):
192+ def resolve (db_file , threshold , upload_to_subsonic , subsonic_id , save_to_m3u , save_to_jspf , dont_ask , quiet , jspf_playlist ):
192193 """ Resolve a global JSPF playlist with MusicBrainz MBIDs to files in the local collection"""
193194 set_log_level (quiet )
194195 db_file = db_file_check (db_file )
@@ -197,20 +198,21 @@ def resolve(db_file, threshold, upload_to_subsonic, save_to_m3u, save_to_jspf, d
197198 lbrl = ListenBrainzRadioLocal (quiet )
198199 playlist = read_jspf_playlist (jspf_playlist )
199200 lbrl .resolve_playlist (threshold , playlist )
200- output_playlist (db , playlist , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask )
201+ output_playlist (db , playlist , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask , subsonic_id )
201202
202203
203204@cli .command (name = "lb-radio" , context_settings = dict (ignore_unknown_options = True , ))
204205@click .option ("-d" , "--db_file" , help = "Database file for the local collection" , required = False , is_flag = False )
205206@click .option ('-t' , '--threshold' , default = .80 , help = "Minimum match percentage for metadata matches. Must be 0.0 - 1.0" )
206207@click .option ('-u' , '--upload-to-subsonic' , required = False , is_flag = True , help = "upload playlist via subsonic API" )
208+ @click .option ('-i' , '--subsonic-id' , required = False , help = "overwrite existing subsonic playlist with the given ID" )
207209@click .option ('-m' , '--save-to-m3u' , required = False , help = "save to specified m3u playlist" )
208210@click .option ('-j' , '--save-to-jspf' , required = False , help = "save to specified JSPF playlist" )
209211@click .option ('-y' , '--dont-ask' , required = False , is_flag = True , help = "save playlist without asking user" )
210212@click .option ('-q' , '--quiet' , 'quiet' , help = "Do no print out anything" , required = False , is_flag = True )
211213@click .argument ('mode' )
212214@click .argument ('prompt' )
213- def lb_radio (db_file , threshold , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask , quiet , mode , prompt ):
215+ def lb_radio (db_file , threshold , upload_to_subsonic , subsonic_id , save_to_m3u , save_to_jspf , dont_ask , quiet , mode , prompt ):
214216 """Use LB Radio to create a playlist from a prompt, using a local music collection"""
215217 set_log_level (quiet )
216218 db_file = db_file_check (db_file )
@@ -224,19 +226,20 @@ def lb_radio(db_file, threshold, upload_to_subsonic, save_to_m3u, save_to_jspf,
224226 db .metadata_sanity_check (include_subsonic = upload_to_subsonic )
225227 return
226228
227- output_playlist (db , playlist , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask )
229+ output_playlist (db , playlist , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask , subsonic_id )
228230
229231
230232@cli .command ("weekly-jams" , context_settings = dict (ignore_unknown_options = True , ))
231233@click .option ("-d" , "--db_file" , help = "Database file for the local collection" , required = False , is_flag = False )
232234@click .option ('-t' , '--threshold' , default = .80 , help = "Minimum match percentage for metadata matches. Must be 0.0 - 1.0" )
233235@click .option ('-u' , '--upload-to-subsonic' , required = False , is_flag = True , help = "upload playlist via subsonic API" )
236+ @click .option ('-i' , '--subsonic-id' , required = False , help = "overwrite existing subsonic playlist with the given ID" )
234237@click .option ('-m' , '--save-to-m3u' , required = False , help = "save to specified m3u playlist" )
235238@click .option ('-j' , '--save-to-jspf' , required = False , help = "save to specified JSPF playlist" )
236239@click .option ('-y' , '--dont-ask' , required = False , is_flag = True , help = "save playlist without asking user" )
237240@click .option ('-q' , '--quiet' , 'quiet' , help = "Do no print out anything" , required = False , is_flag = True )
238241@click .argument ('user_name' )
239- def periodic_jams (db_file , threshold , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask , quiet , user_name ):
242+ def periodic_jams (db_file , threshold , upload_to_subsonic , subsonic_id , save_to_m3u , save_to_jspf , dont_ask , quiet , user_name ):
240243 "Generate a weekly jams playlist for your local collection"
241244 set_log_level (quiet )
242245 db_file = db_file_check (db_file )
@@ -251,7 +254,7 @@ def periodic_jams(db_file, threshold, upload_to_subsonic, save_to_m3u, save_to_j
251254 db .metadata_sanity_check (include_subsonic = upload_to_subsonic )
252255 return
253256
254- output_playlist (db , playlist , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask )
257+ output_playlist (db , playlist , upload_to_subsonic , save_to_m3u , save_to_jspf , dont_ask , subsonic_id )
255258
256259
257260@cli .command (context_settings = dict (ignore_unknown_options = True , ))
0 commit comments