# ===================================================== # Apckeyl_RealESRGAN # Version 1.0 # processing_logger.py # ===================================================== from datetime import timedelta import time class ProcessingLogger: """ Профессиональный журнал обработки. Отвечает только за формирование информации о выполненной обработке. Version 1.0 """ def __init__(self): self.start_time = None # ------------------------------------------------- def start(self): self.start_time = time.perf_counter() # ------------------------------------------------- def elapsed(self): if self.start_time is None: return "0 сек" seconds = int( time.perf_counter() - self.start_time ) return str( timedelta( seconds=seconds ) ) # ------------------------------------------------- def build( self, model, tiles, input_size, output_size, mode, quality, denoise, ): elapsed = self.elapsed() status = f"""✅ AI-инференс выполнен Активная модель: {model} Входное изображение: {input_size[0]} × {input_size[1]} Выходное изображение: {output_size[0]} × {output_size[1]} Тайлов обработано: {tiles} Время обработки: {elapsed} Pipeline: Spandrel ↓ Tensor Pipeline ↓ OfficialTileProcessor ↓ Batch Ready ↓ TileProcessor -------------------------------- Режим: {mode} Качество: {quality} Шумоподавление: {denoise} """ return status