Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 523382c1

Přidáno uživatelem Martin Forejt před téměř 4 roky(ů)

Re: #8997 - refactoring, comments

Zobrazit rozdíly:

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