Passed
Push — main ( 9214be...1300ca )
by Andreas
01:00
created

log.Log.stop()   A

Complexity

Conditions 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

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