diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-10-31 12:02:49 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-10-31 12:02:49 -0400 |
commit | 4c19e2aee48069568020d4e923ba85a4ea599d15 (patch) | |
tree | 57a8d3e73ef0174524bbf8fde4fbc86ed6667faa /coverage/misc.py | |
parent | e6f0a4e607e1f70315957034db4ac672421ae263 (diff) | |
download | python-coveragepy-git-4c19e2aee48069568020d4e923ba85a4ea599d15.tar.gz |
Try a different strategy for setting and testing output encodings
Diffstat (limited to 'coverage/misc.py')
-rw-r--r-- | coverage/misc.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/coverage/misc.py b/coverage/misc.py index 36e4fe9c..db6298b6 100644 --- a/coverage/misc.py +++ b/coverage/misc.py @@ -6,7 +6,9 @@ import errno import hashlib import inspect +import locale import os +import sys import types from coverage import env @@ -149,6 +151,18 @@ def file_be_gone(path): raise +def output_encoding(outfile=None): + """Determine the encoding to use for output written to `outfile` or stdout.""" + if outfile is None: + outfile = sys.stdout + encoding = ( + getattr(outfile, "encoding", None) or + getattr(sys.__stdout__, "encoding", None) or + locale.getpreferredencoding() + ) + return encoding + + class Hasher(object): """Hashes Python data into md5.""" def __init__(self): |