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

log   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 23
dl 0
loc 41
rs 10
c 0
b 0
f 0
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A Log.stop() 0 8 1
A Log.write() 0 8 1
A Log.__init__() 0 5 2
A Log.start() 0 8 1
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