log.Log.start()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
"""Модуль записи раздельных логов по каждой сборке."""
2
from datetime import datetime
3
4
class Log:
5
    """Создание файла лога для каждой задачи с записью.
6
    """
7
    # Тут неплохо добавить проверку, существует ли файл или нет
8
    # pylint: disable=consider-using-with
9
    # Тут придется именно так.
10
    def __init__(self, logfile) -> None:
11
        self.build_name = logfile
12
        self.logfile = open(f'logs/{logfile}.log', 'a', encoding = 'utf8')
13
        self.separator = '=' * 10
14
        self.now = datetime.today().strftime('%d-%m-%Y  %H:%M:%S')
15
16
    def write(self, row) -> None:
17
        """Запись передаваемых данных в лог.
18
19
        Args:
20
            row (str): передаваемая строка для записи в лог
21
        """
22
        self.logfile.write(f'{self.now} -- {row}\n')
23
24
    def start(self) -> None:
25
        """Начало очередной сборки.
26
        """
27
        self.logfile.write(
28
            f'{self.now}\n \
29
            Сборка {self.build_name} начата\n'
30
            )
31
32
    def stop(self) -> None:
33
        """Завершение сборки.
34
        """
35
        self.logfile.write(
36
            f'\n{self.separator}\n',
37
            self.now,
38
            'Сборка завершена',
39
            f'\n{self.separator}\n'
40
            )
41
        self.logfile.close()
42