Revize 523382c1
Přidáno uživatelem Martin Forejt před téměř 4 roky(ů)
aswi2021vochomurka/service/file_manager.py | ||
---|---|---|
15 | 15 |
".": "_"}) |
16 | 16 | |
17 | 17 | |
18 |
def create_filename(message: Message): |
|
18 |
def create_filename(message: Message) -> str: |
|
19 |
""" |
|
20 |
Create file name based on message data |
|
21 |
:param message: message |
|
22 |
:return: filename |
|
23 |
""" |
|
19 | 24 |
name = "data/" + message.topic.translate(trans) + "/" + message.date + "_" + message.time + ".csv" |
20 | 25 |
return name |
21 | 26 | |
22 | 27 | |
23 | 28 |
class FileManager: |
29 |
""" |
|
30 |
Helper class for writing incoming message to files |
|
31 |
Each topic has created own instance of this class |
|
32 |
""" |
|
24 | 33 |
topic: str |
25 | 34 |
lastUpdate: float |
26 | 35 |
file: TextIO |
27 | 36 | |
28 | 37 |
def __init__(self, topic: str, message: Message): |
38 |
""" |
|
39 |
Constructing new FileManager will create new file and write first message |
|
40 |
:param topic: topic |
|
41 |
:param message: message |
|
42 |
:except when creating new file fails |
|
43 |
""" |
|
29 | 44 |
self.topic = topic |
30 | 45 |
logging.debug('opening file ' + self.topic) |
31 | 46 | |
... | ... | |
39 | 54 |
self.write(message) |
40 | 55 | |
41 | 56 |
def write(self, message: Message): |
57 |
""" |
|
58 |
Append message to file |
|
59 |
:param message: message |
|
60 |
""" |
|
42 | 61 |
self.file.write(message.date + ";" + message.time + ";" + str(message.index) + ";" + str(message.value) + "\n") |
43 | 62 |
self.lastUpdate = time.time() |
44 | 63 | |
45 | 64 |
def close(self): |
65 |
""" |
|
66 |
Close file |
|
67 |
""" |
|
46 | 68 |
logging.debug('closing file ' + self.topic) |
47 | 69 |
self.file.flush() |
48 | 70 |
self.file.close() |
Také k dispozici: Unified diff
Re: #8997 - refactoring, comments