def on_mouse(event, x, y, flag, param):
    global usercount
    global demo_mode
    global saved_list
    if (event == cv.CV_EVENT_LBUTTONDOWN):
        #print x,y
        #            runCapture = False
        #            print  imagefile + str(param) + '.jpg'
        if not demo_mode:
            apenom = get_guest("Introduzca nombre")
        else:
            apenom = ""

        if demo_mode or apenom:
            usercount = usercount + 1
            user_id = user_id_base + str(usercount)
            if apenom:
                os.rename(imagefile + str(param) + '.jpg', user_id + '.jpg')
                with open(user_id + ".jpg", "rb") as handle:
                    binary_data = xmlrpclib.Binary(handle.read())
                handle.close()
                if server.put_file(USERNAME, PASSWORD, datastore_space,
                                   user_id + '.jpg', binary_data):
                    #print "foto subida"
                    #put in database
                    try:
                        # connect
                        db = MySQLdb.connect(host=dbhost,
                                             user=dbuser,
                                             passwd=dbpass,
                                             db=dbname)
                        cur = db.cursor()
                        #                            try:
                        cur.execute(
                            "INSERT INTO fotos_jornadas (foto, user_id, nombre_comp) VALUES ('%s', '%s', '%s');"
                            % (user_id + ".jpg", user_id, apenom))
                        db.commit()
                        #                            except:
                        #                                # Rollback in case there is any error
                        #                                db.rollback()
                        cur.close()
                        db.close()
                        info_dialog("Foto de " + apenom +
                                    " grabada correctamente")
                        saved_list.append(user_id)
                    except:
                        #print dbhost+ " - "+ dbuser + " - "+ dbpass + " - "+ dbname
                        error_dialog("Error grabando foto")
                else:
                    error_dialog("Error mandando foto")
            else:
                os.rename(imagefile + str(param) + '.jpg', user_id + '.jpg')
                info_dialog("Foto Seleccionada")

            cv.DestroyWindow('crop' + str(param))

    elif (event == cv.CV_EVENT_RBUTTONDOWN):
        cv.DestroyWindow('crop' + str(param))
def on_mouse(event, x, y, flag, param):
        global runCapture
        if(event == cv.CV_EVENT_LBUTTONDOWN):
            #print x,y
            runCapture = False
            #print  imagefile + str(param) + '.jpg'
            os.rename( imagefile + str(param) + '.jpg', nia + '.jpg')
            with open(nia+".jpg", "rb") as handle:
                binary_data = xmlrpclib.Binary(handle.read())
            handle.close()
            if server.put_file(USERNAME, PASSWORD, datastore_space, nia + '.jpg', binary_data):
		#put in database
		try:
			# connect
			db = MySQLdb.connect(host=dbhost, user=dbuser, passwd=dbpass, db=dbname)
			cur = db.cursor()
			try:
				if (NOT_IN_ADMITACA and NOT_IN_ALUMNOS and NOT_IN_PROFES):
					#cur.execute("INSERT INTO admitaca(foto_guardada, dni, nombre_comp) VALUES ('%s', '%s', '%s');" % ('1', nia, new_apenom))
					#info_dialog(nia+".jpg - "+nia+" - "+new_apenom+ " - "+datetime.now().strftime('%Y%m%d')+ " - "+new_email)

					cur.execute("INSERT INTO excepciones_fotos(foto, DNI_NORM, nombre_comp, fecha_foto, email, tipo) VALUES ('%s', '%s', '%s', '%s', '%s', '%s' );" % (nia+".jpg", nia, new_apenom, datetime.now().strftime('%Y%m%d'), new_email, new_type))
				elif (NOT_IN_ALUMNOS and NOT_IN_PROFESORES):
				#	#cur.execute("UPDATE alumnos SET foto='%s' WHERE DNI_NORM='%s';" % (nia+".jpg", nia))
					cur.execute("UPDATE admitaca SET email='%s' WHERE dni='%s';" % (new_email, nia))
				elif (NOT_IN_ADMITACA and NOT_IN_PROFESORES):
					cur.execute("UPDATE alumnos SET foto='%s' WHERE DNI_NORM='%s';" % (nia+".jpg", nia))
#				else:
#					cur.execute("UPDATE alumnos SET foto='%s' WHERE DNI_NORM='%s';" % (nia+".jpg", nia))

				db.commit()

			except:
				# Rollback in case there is any error
				db.rollback()

			cur.close()
			db.close()
			info_dialog("Foto de " + nia + " grabada correctamente")
		except:
			error_dialog("Error grabando foto")
            else:
		error_dialog("Error grabando foto")

            clear_tmpfiles()
            draw_card(nia)

        elif(event == cv.CV_EVENT_RBUTTONDOWN):
           cv.DestroyWindow('crop' + str(param)) 
def on_mouse(event, x, y, flag, param):
        global runCapture
        if(event == cv.CV_EVENT_LBUTTONDOWN):
            #print x,y
            runCapture = False
            #print  imagefile + str(param) + '.jpg'
            os.rename( imagefile + str(param) + '.jpg', nia + '.jpg')
            with open(nia+".jpg", "rb") as handle:
                binary_data = xmlrpclib.Binary(handle.read())
            handle.close()
            if server.put_file(USERNAME, PASSWORD, datastore_space, nia + '.jpg', binary_data):
		#put in database
		try:
			# connect
			db = MySQLdb.connect(host=dbhost, user=dbuser, passwd=dbpass, db=dbname)
			cur = db.cursor()
			try:
				if NOT_IN_ADMITACA:
					cur.execute("INSERT INTO admitaca(foto_guardada, dni, nombre_comp) VALUES ('%s', '%s', '%s');" % ('1', nia, new_apenom))
				else:
					cur.execute("UPDATE admitaca SET foto_guardada=1 WHERE dni='%s';" % (nia))
				db.commit()

			except:
				# Rollback in case there is any error
				db.rollback()

			cur.close()
			db.close()
			info_dialog("Foto de " + nia + " grabada correctamente")
		except:
			error_dialog("Error grabando foto")
            else:
		error_dialog("Error grabando foto")

            clear_tmpfiles()
            draw_card(nia)

        elif(event == cv.CV_EVENT_RBUTTONDOWN):
           cv.DestroyWindow('crop' + str(param)) 
	if (webcam == -1 ):
		try:
			webcam = int(parser.get('webcam', 'cam'))
		except:
			webcam = 0
		
	# access datastore
	try:
		server = xmlrpclib.Server(datastore_uri)
		dbhost = server.get_value(USERNAME, PASSWORD, datastore_space, 'dbhost')
		dbname = server.get_value(USERNAME, PASSWORD, datastore_space, 'dbname')
		dbuser = server.get_value(USERNAME, PASSWORD, datastore_space, 'dbuser')
		dbpass = server.get_value(USERNAME, PASSWORD, datastore_space, 'dbpass')
	except:
#		usage('Error accessing datastore server')
		error_dialog('Error accessing datastore server')
		sys.exit

	if not dbhost or not dbname or not dbpass:
#		usage('Error retrieving mysql parameters')
		error_dialog('Error retrieving mysql parameters')
		sys.exit()

	#connect to database
	try:
		db = MySQLdb.connect(host=dbhost, user=dbuser, passwd=dbpass, db=dbname)
	except:
		usage('Error accessing database')
		sys.exit()
	while True:
        	nia = get_text(None, 'Introduzca el NIF/NIE:', def_nia)
            # avoid python 2.7.9 certificate validation
            if sys.version_info[0] * 100 + sys.version_info[
                    1] * 10 + sys.version_info[2] >= 279:
                ssl._create_default_https_context = ssl._create_unverified_context
            server = xmlrpclib.Server(datastore_uri)
            dbhost = server.get_value(USERNAME, PASSWORD, datastore_space,
                                      'dbhost')
            dbname = server.get_value(USERNAME, PASSWORD, datastore_space,
                                      'dbname')
            dbuser = server.get_value(USERNAME, PASSWORD, datastore_space,
                                      'dbuser')
            dbpass = server.get_value(USERNAME, PASSWORD, datastore_space,
                                      'dbpass')
        except:
            #			usage('Error accessing datastore server')
            error_dialog('Error accessing datastore server')
            sys.exit

        if not dbhost or not dbname or not dbpass:
            #			usage('Error retrieving mysql parameters')
            error_dialog('Error retrieving mysql parameters')
            sys.exit()

        #connect to database
        try:
            db = MySQLdb.connect(host=dbhost,
                                 user=dbuser,
                                 passwd=dbpass,
                                 db=dbname)
        except:
            usage('Error accessing database')
def on_mouse(event, x, y, flag, param):
    global runCapture
    if (event == cv.CV_EVENT_LBUTTONDOWN):
        #print x,y
        runCapture = False
        #print  imagefile + str(param) + '.jpg'
        os.rename(imagefile + str(param) + '.jpg', nia + '.jpg')
        with open(nia + ".jpg", "rb") as handle:
            binary_data = xmlrpclib.Binary(handle.read())
        handle.close()
        if server.put_file(USERNAME, PASSWORD, datastore_space, nia + '.jpg',
                           binary_data):
            #put in database
            try:
                # connect
                db = MySQLdb.connect(host=dbhost,
                                     user=dbuser,
                                     passwd=dbpass,
                                     db=dbname)
                cur = db.cursor()
                try:
                    if (NOT_IN_ADMITACA and NOT_IN_ALUMNOS and NOT_IN_PROFES):
                        #cur.execute("INSERT INTO admitaca(foto_guardada, dni, nombre_comp) VALUES ('%s', '%s', '%s');" % ('1', nia, new_apenom))
                        #info_dialog(nia+".jpg - "+nia+" - "+new_apenom+ " - "+datetime.now().strftime('%Y%m%d')+ " - "+new_email)

                        cur.execute(
                            "INSERT INTO excepciones_fotos(foto, DNI_NORM, nombre_comp, fecha_foto, email, tipo) VALUES ('%s', '%s', '%s', '%s', '%s', '%s' );"
                            % (nia + ".jpg", nia, new_apenom,
                               datetime.now().strftime('%Y%m%d'), new_email,
                               new_type))
                    elif (NOT_IN_ALUMNOS and NOT_IN_PROFESORES):
                        #	#cur.execute("UPDATE alumnos SET foto='%s' WHERE DNI_NORM='%s';" % (nia+".jpg", nia))
                        cur.execute(
                            "UPDATE admitaca SET email='%s' WHERE dni='%s';" %
                            (new_email, nia))
                    elif (NOT_IN_ADMITACA and NOT_IN_PROFESORES):
                        cur.execute(
                            "UPDATE alumnos SET foto='%s' WHERE DNI_NORM='%s';"
                            % (nia + ".jpg", nia))


#				else:
#					cur.execute("UPDATE alumnos SET foto='%s' WHERE DNI_NORM='%s';" % (nia+".jpg", nia))

                    db.commit()

                except:
                    # Rollback in case there is any error
                    db.rollback()

                cur.close()
                db.close()
                info_dialog("Foto de " + nia + " grabada correctamente")
            except:
                error_dialog("Error grabando foto")
        else:
            error_dialog("Error grabando foto")

        clear_tmpfiles()
        draw_card(nia)

    elif (event == cv.CV_EVENT_RBUTTONDOWN):
        cv.DestroyWindow('crop' + str(param))
        # avoid python 2.7.9 certificate validation
        if sys.version_info[0] * 100 + sys.version_info[
                1] * 10 + sys.version_info[2] >= 279:
            ssl._create_default_https_context = ssl._create_unverified_context
        server = xmlrpclib.Server(datastore_uri)
        dbhost = server.get_value(USERNAME, PASSWORD, datastore_space,
                                  'dbhost')
        dbname = server.get_value(USERNAME, PASSWORD, datastore_space,
                                  'dbname')
        dbuser = server.get_value(USERNAME, PASSWORD, datastore_space,
                                  'dbuser')
        dbpass = server.get_value(USERNAME, PASSWORD, datastore_space,
                                  'dbpass')
    except:
        #		usage('Error accessing datastore server')
        error_dialog('Error accessing datastore server')
        sys.exit

    if not dbhost or not dbname or not dbpass:
        #		usage('Error retrieving mysql parameters')
        error_dialog('Error retrieving mysql parameters')
        sys.exit()

#connect to database
    try:
        db = MySQLdb.connect(host=dbhost,
                             user=dbuser,
                             passwd=dbpass,
                             db=dbname)
    except:
        usage('Error accessing database')