Hi! 2012/6/6 <[email protected]>: > Unknown to us, for a group of one of our regular 1/2 hour shows, the > supplied files already had metadata titles. > We run a function to act as fill-in for missing titles for all shows using > the filename of the episode. > Unfortunately, since the metadata title has been supplied, the function > dos not work as expected. > > I would like to modify this function to always override the title with a > filename supplied (whether a title > has been provided previously or not). > > > The code in question: > > > > # === CIL ORIGINAL === > > > 1 a = playlist.safe(mode="normal", > "/usr/local/www/rcr/radio/current/mp3/cil-mp3-top.pls") > > 2 b = playlist.safe(mode="normal", > "/usr/local/www/rcr/radio/current/mp3/today-cil-mp3.pls") > > 3 c = playlist.safe(mode="normal", > "/usr/local/www/rcr/radio/current/mp3/cil-mp3-end.pls") > > > > > 4 cil = sequence([a,b,c]) > > > > 5 # Fill-in Title for ID3 Tag > > 6 def fill_in(s) > > # the function f takes a list of pairs m representing > the metadata > # and it maps an anonymous function on each pair > # replacing empty title definitions by title=filename > > 7 def f(m) > > 8 print("\n\nFor metadata: #{m}\n\n") > 9 list.map(fun (key_value) -> > > 10 if key_value==("title","") then > > > 11 if m["filename"] == > "/usr/local/www/rcr/mp3/announce/TOHS.mp3" then > 12 ("title", "Rural Catholic Radio - from > the heartland, with > love") > > 13 elsif m["filename"] == > "/usr/local/www/rcr/mp3/announce/opener/opener-cil.mp3" then > 14 ("title", "Welcome to Christianity in > Literature") > > 15 elsif m["filename"] == > "/usr/local/www/rcr/radio/current/mp3/today-cil-mp3.pls" then > 16 ("title", "Christianity in Literature - > with Joseph Finnell > and Richard Hyatt - see www.RuralCatholicRadio.com for details") > > 17 elsif m["filename"] == > "/usr/local/www/rcr/mp3/announce/CLOSER.mp3" then > 18 ("title", "Thank you for listening to > Christianity in > Literature - with Joseph Finnell and Richard Hyatt") > > 19 elsif m["filename"] == > "/usr/local/www/rcr/radio/current/mp3/cil-mp3-end.pls" then > 20 ("title", "Christianity in Literature - > with Joseph Finnell > and Richard Hyatt - see www.RuralCatholicRadio.com for details") > > 21 else ("title", "Christianity in Literature > - with Joseph Finnell > and Richard Hyatt - see www.RuralCatholicRadio.com for details") > > 22 end > > > 23 else key_value end, > 24 m) > > 25 end > > 26 map_metadata(f,s) > > 27 end > > > 28 cil = fill_in(cil) > > > > ****** > > > I was wondering whether by dropping lines 10, 23-25 (the 'if > key_value==("title", "")' it would work. I have no way of testing this > locally. > Or, even better, it would be great if I could simply use: > > 'if key_value!=("title", "")' [instead of '==' use '!=' but I'm not sure > whether it would work].
If you want to _always_ override the title metadata regardless of any value currently set, then you should get rid of the whole if conditional altogether. Instead of: if (...) then (.. code ..) end You should simply have: (..code..) And then title metadata will always be overriden. Romain ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Savonet-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/savonet-users
