Sun, 05 Jun 2022 17:17:44 +0200
Corrected the VCS tracing state of the recently merged files.
9131
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a JSON based writer class. |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import json |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import socket |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | class EricJsonWriter: |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | Class implementing a JSON based writer class. |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | def __init__(self, host, port): |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | Constructor |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | @param host IP address the reader is listening on |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | @type str |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | @param port port the reader is listening on |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | @type int |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | self.__connection = socket.create_connection((host, port)) |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | def write(self, data): |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | Public method to send JSON serializable data. |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @param data JSON serializable object to be sent |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | @type object |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | dataStr = json.dumps(data) + '\n' |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | self.__connection.sendall(dataStr.encode('utf8', 'backslashreplace')) |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | def close(self): |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | Public method to close the stream. |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
bc0c1b6d6adb
Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.__connection.close() |