Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 22e17e6c

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

Re #8731 - format file name and content

Zobrazit rozdíly:

aswi2021vochomurka/service/file_manager.py
1
import os
1 2
import time
2 3

  
3 4
from aswi2021vochomurka.model.Message import Message
4 5
from typing import TextIO
5 6

  
7
trans = str.maketrans({
8
    "/": "_",
9
    "\\": "_",
10
    ":": "_",
11
    "\"": "_",
12
    "$": "_",
13
    "*": "_",
14
    ".": "_"})
15

  
16

  
17
def create_filename(message: Message):
18
    name = "data/" + message.topic.translate(trans) + "/" + message.date + "_" + message.time + ".csv"
19
    return name
20

  
6 21

  
7 22
class FileManager:
8 23
    topic: str
......
11 26

  
12 27
    def __init__(self, topic: str, message: Message):
13 28
        self.topic = topic
29

  
14 30
        try:
15
            self.file = open(message.time + ".csv", "w+")
31
            filename = create_filename(message)
32
            os.makedirs(os.path.dirname(filename), exist_ok=True)
33
            self.file = open(filename, "w+")
16 34
        except Exception as error:
17 35
            print(error)
18
        self.file.write("init file\n")
19
        self.lastUpdate = time.time()
36
            raise error
37
        self.write(message)
20 38

  
21 39
    def write(self, message: Message):
22
        self.file.write("test append\n")
40
        self.file.write(message.date + ";" + message.time + ";" + str(message.index) + ";" + str(message.value))
23 41
        self.lastUpdate = time.time()
24 42

  
25 43
    def close(self):

Také k dispozici: Unified diff