#!/usr/bin/python
"""
SSA ScreenSaverActive
Activa el protector de pantalla si no 
reconoce ningun rostro con la webcam
Diseñado por palichis
mail: palichis@solid-ec.org
jabber: palichis@jabberes.org
Licencia: GPLV3
"""

import sys
import os
import cv

scale = 2
camara = cv.CreateCameraCapture(0)

cascade = sys.argv[1]
storage = cv.CreateMemStorage(0)
cascade = cv.Load(cascade)

paramTime = 10
paramClave = "false"

if len(sys.argv) >= 3: paramTime = int(sys.argv[2])
if len(sys.argv) == 4: paramClave = sys.argv[3]

scale = 2
notPresent = 0
while True:
	img = cv.QueryFrame(camara)
	faces = cv.HaarDetectObjects(
                             img,
                             cascade,
                             storage,
                             scale,
                             2,
                             cv.CV_HAAR_DO_CANNY_PRUNING)
	if faces:
		if (notPresent !=0) :
			 os.system("gnome-screensaver-command --deactivate")

		notPresent = 0
		for ((x,y,w,h),n) in  faces:
			cv.Rectangle(img,
				( int(x), int(y)),
				(int(x + w), int(y + h)),
				cv.CV_RGB(255,0,0), 3, 8, 0)
			cv.ShowImage("Foto", img)
	else:
		notPresent += 1
		if notPresent >= paramTime:
			os.system("gnome-screensaver-command --activate")

	if cv.WaitKey(10)> 0:
		break

