Files
biliup/ykdl/__init__.py
T
2019-06-15 15:23:35 +08:00

43 lines
1.4 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*
import sys
if sys.platform.startswith('win'):
# hack sys.stdout in Windows cmd shell
if sys.version_info[0] < 3:
class filewrapper(object):
def __init__(self, file, encoding=None, errors='ignore'):
object.__setattr__(self, 'wrappedfile', file)
object.__setattr__(self, 'encoding', encoding or file.encoding)
object.__setattr__(self, 'errors', errors)
def __getattr__(self, name):
return getattr(self.wrappedfile, name)
def __setattr__(self, name, value):
setattr(self.wrappedfile, name, value)
def write(self, s):
if isinstance(s, unicode):
s = s.encode(encoding=self.encoding, errors=self.errors)
self.wrappedfile.write(s)
sys.stdout = filewrapper(sys.stdout)
elif sys.version_info[1] < 6:
import io
sys.stdout = io.TextIOWrapper(sys.stdout.detach(),
encoding=sys.stdout.encoding,
errors='ignore',
line_buffering=True)
from .util.log import ColorHandler
import logging
if sys.version_info[0] < 3:
logging.root.addHandler(ColorHandler())
else:
logging.basicConfig(handlers=[ColorHandler()])