Package linspector :: Package lib :: Package services :: Module tcpconnect
[hide private]
[frames] | no frames]

Source Code for Module linspector.lib.services.tcpconnect

 1  """ 
 2  The tcpconnect service. This is to check if a service on a specific port is reachable. 
 3   
 4  This should just return 0 on success and NOT 0 on error. Just to make internals generic to just report this code and 
 5  not use a parser. 
 6  """ 
 7   
 8  import socket 
 9  from lib.config.services import Service 
10  from service import Service 
11   
12   
13 -class TcpconnectService(Service):
14 - def __init__(self, **kwargs):
15 #Service.__init__(self, **kwargs) 16 super(TcpconnectService, self).__init__(**kwargs) 17 18 args = self.get_arguments() 19 if "port" in args: 20 self.port = args["port"] 21 else: 22 raise Exception("There is no port set")
23
24 - def needs_arguments(self):
25 return True
26
27 - def execute(self, log):
28 try: 29 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 30 except socket.error, msg: 31 log.w("%s\n" % msg[1]) 32 self.errorcode = 1 33 34 try: 35 sock.connect((self.host, self.port)) 36 except socket.error, msg: 37 log.w("%s\n" % msg[1]) 38 self.errorcode = 2 39 40 sock.close() 41 return
42 43
44 -def create(kwargs):
45 return TcpconnectService(**kwargs)
46