@@ -94,19 +94,23 @@ def _connect(self):
9494 """
9595 logging .debug ("Connecting to host" )
9696
97- self ._srv_handler = telnetlib .Telnet (self ._host , self ._port )
98-
99- if self ._login != None :
100- self ._srv_handler .write ("USERNAME %s\n " % self ._login )
101- result = self ._srv_handler .read_until ("\n " , self ._timeout )
102- if not result == "OK\n " :
103- raise PyNUTError (result .replace ("\n " , "" ))
104-
105- if self ._password != None :
106- self ._srv_handler .write ("PASSWORD %s\n " % self ._password )
107- result = self ._srv_handler .read_until ("\n " , self ._timeout )
108- if not result == "OK\n " :
109- raise PyNUTError (result .replace ("\n " , "" ))
97+ try :
98+ self ._srv_handler = telnetlib .Telnet (self ._host , self ._port ,
99+ timeout = self ._timeout )
100+
101+ if self ._login != None :
102+ self ._srv_handler .write ("USERNAME %s\n " % self ._login )
103+ result = self ._srv_handler .read_until ("\n " , self ._timeout )
104+ if not result == "OK\n " :
105+ raise PyNUTError (result .replace ("\n " , "" ))
106+
107+ if self ._password != None :
108+ self ._srv_handler .write ("PASSWORD %s\n " % self ._password )
109+ result = self ._srv_handler .read_until ("\n " , self ._timeout )
110+ if not result == "OK\n " :
111+ raise PyNUTError (result .replace ("\n " , "" ))
112+ except telnetlib .socket .error :
113+ raise PyNUTError ("Socket error." )
110114
111115 def description (self , ups ):
112116 """Returns the description for a given UPS."""
0 commit comments