Autotest notificaties ala Growls op EEE
Gepubliceerd op: 9.V.2008 12:55 CEST
Er zijn eigenlijk maar weinig dingen die ik echt mis van m’n MacBook als ik lekker zit te fröbelen op m’n EEE. Wat ik wel jammer vond, was dat ik geen growl notificaties meer had uit autotest. Maar debian zou debian niet zijn als er tussen de bijna 27 duizend packages geen alternatief te vinden zou zijn; aosd-cat.
Nu nog even in ~/.autotest hangen!
Aosd-cat is een simpele commandline utility welke z’n berichten leest van stdin. Deze is met open3 gemakkelijk aan te roepen;
require 'open3'
def aosd_cat(message, color = 'green')
Open3.popen3("aosd_cat -R #{color} -n 'DejaVuSans Bold 18'") do |stdin,_,_|
stdin.puts message
end
end
Nu nog een autotest hook;
Autotest.add_hook :ran_command do |at|
if result = at.results.last
successful = [/\b0 errors/, /\b0 failures/].all?{|re| result.match(re)}
aosd_cat result, successful ? 'green' : 'red'
end
end
Maar de succes mededeling hoef ik maar 1 keer te zien, geen verder nieuws is goed nieuws;
previous = nil
Autotest.add_hook :ran_command do |at|
if result = at.results.last
successful = [/\b0 errors/, /\b0 failures/].all?{|re| result.match(re)}
aosd_cat result, successful ? 'green' : 'red' unless successful && previous
previous = successful
end
end
Et voilá, het resultaat, growl-achtige notificaties op m’n EEE!