def log(self, msg: str) -> None:
super().log(msg)
- if not exists(_PATH_LOGS):
- makedirs(_PATH_LOGS)
- with open(f'{_PATH_LOGS}/{self._title}.txt', 'a', encoding='utf8'
- ) as f:
+ ldir = f'{_PATH_LOGS}/{self._title}'
+ if not exists(ldir):
+ makedirs(ldir)
+ with open(f'{ldir}/{self._last_today}.txt', 'a', encoding='utf8') as f:
f.write(msg + '\n')
def _send_msg(self, verb: str, params: tuple[str, ...]) -> None:
_drawable = False
prompt: PromptWidget
_title = ':start'
+ _last_today = ''
def __init__(self, idx: int, term: 'Terminal', **kwargs) -> None:
super().__init__(**kwargs)
if hasattr(self._term, 'size'):
self.set_geometry()
+ def ensure_date(self, today: str) -> None:
+ 'Log date of today if it has not been logged yet.'
+ if today != self._last_today:
+ self._last_today = today
+ self.log(today)
+
def log(self, msg: str) -> None:
'Append msg to .history.'
self.history.append(msg)
prefix = kwargs.get('prefix', _LOG_PREFIX_DEFAULT)
if kwargs.get('alert', False):
prefix = _LOG_PREFIX_ALERT + prefix
- msg = f'{str(datetime.now())[11:19]} {prefix} {msg}'
+ now = str(datetime.now())
+ today, time = now[:10], now[11:19]
+ msg = f'{time} {prefix} {msg}'
affected_win_indices = []
for win in self._log_target_wins(**kwargs):
affected_win_indices += [win.idx]
+ win.ensure_date(today)
win.log(msg)
if win != self.window:
self._status_line.taint()