Total Complexity | 10 |
Total Lines | 39 |
Duplicated Lines | 0 % |
1 | import socket |
||
5 | class Client: |
||
6 | def __init__(self, address): |
||
7 | self.socket = None |
||
8 | self.address = address |
||
9 | |||
10 | def _connect(self): |
||
11 | self.socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) |
||
12 | self.socket.settimeout(0.01) |
||
13 | self.socket.connect(self.address) |
||
14 | self.socket.settimeout(None) |
||
15 | |||
16 | def connect(self): |
||
17 | if self.socket is None: |
||
18 | self._connect() |
||
19 | |||
20 | def disconnect(self): |
||
21 | self.socket = None |
||
22 | |||
23 | def write(self, data): |
||
24 | self.connect() |
||
25 | Net.write(self.socket, data) |
||
26 | |||
27 | def read(self): |
||
28 | res = Net.read(self.socket) |
||
29 | self.disconnect() |
||
30 | return res |
||
31 | |||
32 | def request(self, data): |
||
33 | self.write(data) |
||
34 | return self.read() |
||
35 | |||
36 | @staticmethod |
||
37 | def try_connect(address): |
||
38 | try: |
||
39 | client = Client(address) |
||
40 | client.connect() |
||
41 | return True |
||
42 | except: |
||
43 | return False |
||
44 | |||
45 |