Flesh out the status handling a bit more, actually check all multi-user runlevels
[aids.git] / bin / aids
index 7b3fa5022aff8741be234aa8824f8c0881121479..5388ea942bba7414a2768b0930a6de3a332ad31c 100755 (executable)
--- a/bin/aids
+++ b/bin/aids
@@ -13,17 +13,34 @@ def main(argv)
                        svc.disable!
                when 'list'
                        if svc
-                               puts svc.status
+                               display_status(svc)
                        else
-                               AIDS.get_all_services.sort_by{|s|s.name}.each do |s|
-                                       puts "#{s.name}: #{s.status}"
-                               end
+                               AIDS.get_all_services.sort_by{|s|s.name}.each{|s|display_status(s)}
                        end
                else
                        usage
        end
 end
 
+def display_status(svc)
+       print "#{svc.name[0..14]}:#{' ' * (16 - svc.name[0..14].length)}"
+       status = svc.status
+       AIDS::RUNLEVEL_ALL.each do |r|
+               case status[r]
+                       when :start
+                               prettystatus = 'on'
+                       when :stop
+                               prettystatus = 'off'
+                       when :none
+                               prettystatus = 'none'
+                       else
+                               next
+               end
+                       print "#{r}: #{prettystatus + ' ' * (8 - prettystatus.length)}"
+               end
+       puts
+end
+
 def usage
        $stderr.puts <<-EOF
 AIDS - Assistant for Initialisation of Debian Services