#!/usr/bin/env python3
import mcush
import subprocess
import sys
import time

lamp_color = None
lamp_freq = None

def set_color( color, freq=1 ):
    global lamp_color, lamp_freq
    if color is None:
        color = 'black'
    if (color == lamp_color) and (freq == lamp_freq):
        return color
    try:
        print('switch to %s'% color)
        lamp = mcush.ShellLab.ShellLabLamp()
        if lamp_freq == freq:
            lamp.color( color )
        else:
            lamp.color( color, freq=freq )
            lamp_freq = freq
        lamp_color = color
        lamp.disconnect()
        del lamp
        return color
    except Exception as e:
        print( e )
        lamp_color = None
        lamp_freq = None
        return None


def main(argv=None):
    set_color('red',freq=2)
    time.sleep(0.5)
    set_color('green',freq=2)
    time.sleep(0.5)
    set_color('blue',freq=2)
    time.sleep(0.5)
    while True:
        ps_output = subprocess.check_output(['ps', 'x'])
        #print(ps_output)
        if 'proftpd' in ps_output:
            set_color('blue')
        elif 'unison' in ps_output:
            set_color('green')
        else:
            set_color('black')
        time.sleep(1)
 

if __name__ == '__main__':
    main(sys.argv) 
