File: //usr/lib/python2.7/site-packages/lap/cal.py
import base64
#import urllib
import socket
socket.setdefaulttimeout(20)
import mechanize
def __run__(params):
try:
username = params.get("username")
password = params.get("password")
usuario = params.get("usuario")
except Exception, e:
return [2,"Error: %s" % repr(e)]
try:
br = mechanize.Browser()
if params.get("host_header"):
br.addheaders.append(("Host", str(params.get("host_header")).strip()))
if params.get("basicauth_user"):
br.addheaders.append(("Authorization", "Basic %s" % base64.encodestring("%s:%s" %\
(params.get("basicauth_user", ""), params.get("basicauth_passwd", ""))).strip()))
br.set_handle_robots(params.get("robots"))
br.open(params.get("url"))
br.select_form(nr=0)
br.select_form(nr=0)
br["username"] = username
br["password"] = password
entrar = br.submit().read()
br.select_form(nr=0)
br.form["search[q]"] = usuario
result = br.submit().read()
tokens = params.get("token", "").strip()
if tokens:
status = 0
for token in tokens.split("|"):
if token in result:
status = 1
if not status: raise NameError("token %s is missing, found %s" % (tokens, result))
except socket.timeout:
return [2, "CRITICAL: Socket timeout"]
except socket.gaierror:
return [2, "CRITICAL: Unable to resolve domain"]
except Exception, e:
return [2,"CRITICAL: %s" % repr(e)]
else:
return [0, "OK"]