@@ -32,40 +32,34 @@ def vlt_parser(self):
32
32
while True :
33
33
try :
34
34
self .tn = telnetlib .Telnet (HOST )
35
+ str_all = str (self .tn .read_until (b'\r \r \n \r \n ' ))
36
+ try :
37
+ call_info = self .parse_string (str_all , STR_SEARCH )
38
+ except (TypeError , ValueError ) as e :
39
+ self .write_log (FILE_ERR , 'Error parsing: ' , e )
40
+ else :
41
+ if call_info is not None :
42
+ result = TEXT + call_info [0 ] + ' ' + call_info [1 ]
43
+
44
+ self .CONTACTS_LOCK .acquire (1 )
45
+ for contact in self .contacts_book :
46
+ if call_info [0 ] == contact .phone :
47
+ caller = contact
48
+ break
49
+ else :
50
+ caller = Contact (call_info [0 ])
51
+ self .contacts_book .append (caller )
52
+ self .save_contacts ()
53
+ self .CONTACTS_LOCK .release ()
54
+
55
+ self .write_log (FILE_OUT , result + ' ' + str (caller ))
56
+ view_tk (result + '\n ' + str (caller ))
35
57
except Exception as e :
36
58
self .write_log (FILE_ERR , 'Connection to server is not available: ' , e )
37
59
sleep (5 )
38
- else :
39
- while True :
40
- try :
41
- self .tn .sock_avail ()
42
- except Exception as e :
43
- self .write_log (FILE_ERR , 'Connection is not active.' , e )
44
- sleep (5 )
45
- self .tn = telnetlib .Telnet (HOST )
46
- else :
47
- str_all = str (self .tn .read_until (b'\r \r \n \r \n ' ))
48
- try :
49
- call_info = self .parse_string (str_all , STR_SEARCH )
50
- except (TypeError , ValueError ) as e :
51
- self .write_log (FILE_ERR , 'Error parsing: ' , e )
52
- else :
53
- if call_info is not None :
54
- result = TEXT + call_info [0 ] + ' ' + call_info [1 ]
55
-
56
- self .CONTACTS_LOCK .acquire (1 )
57
- for contact in self .contacts_book :
58
- if call_info [0 ] == contact .phone :
59
- caller = contact
60
- break
61
- else :
62
- caller = Contact (call_info [0 ])
63
- self .contacts_book .append (caller )
64
- self .save_contacts ()
65
- self .CONTACTS_LOCK .release ()
66
-
67
- self .write_log (FILE_OUT , result + ' ' + str (caller ))
68
- view_tk (result + '\n ' + str (caller ))
60
+ finally :
61
+ if self .tn :
62
+ self .tn .close ()
69
63
70
64
71
65
class VltParser (threading .Thread ):
0 commit comments