BiLogger now inherits io.TextIOWrapper and has a fileno attribute

This commit is contained in:
K4YT3X 2020-12-13 16:52:58 -05:00
parent cc89b0aac5
commit f4be9cc596

View File

@ -4,21 +4,21 @@
Creator: Video2X Bidirectional Logger
Author: K4YT3X
Date Created: June 4, 2020
Last Modified: September 13, 2020
Last Modified: December 13, 2020
"""
# built-in imports
import _io
import io
class BiLogger(object):
class BiLogger(io.TextIOWrapper):
""" A bidirectional logger that both prints the output
and log all output to file.
Original code from: https://stackoverflow.com/a/14906787
"""
def __init__(self, terminal: _io.TextIOWrapper, log_file: _io.BufferedRandom):
def __init__(self, terminal: io.TextIOWrapper, log_file: io.BufferedRandom):
""" initialize BiLogger
Args:
@ -27,6 +27,7 @@ class BiLogger(object):
"""
self.terminal = terminal
self.log_file = log_file
self.fileno = self.log_file.fileno
def write(self, message: str):
""" write message to original terminal output and log file