diff options
author | William Deegan <bill@baddogconsulting.com> | 2017-08-24 17:13:35 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2017-08-24 17:13:35 (GMT) |
commit | d8b5708708f3a71ae04a5b8d44a89d5a3d315adb (patch) | |
tree | d334bd22bfc4c4cd30252929558cd93141407475 /src/engine/SCons/Node/FS.py | |
parent | 38acad8afd2f64dd6e126e359f9d25be177aff2a (diff) | |
download | SCons-d8b5708708f3a71ae04a5b8d44a89d5a3d315adb.zip SCons-d8b5708708f3a71ae04a5b8d44a89d5a3d315adb.tar.gz SCons-d8b5708708f3a71ae04a5b8d44a89d5a3d315adb.tar.bz2 |
Updates to get_text_content() logic and tests
Diffstat (limited to 'src/engine/SCons/Node/FS.py')
-rw-r--r-- | src/engine/SCons/Node/FS.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index 606ecfd..c31ac6c 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -2654,9 +2654,12 @@ class File(Base): if contents[:len(codecs.BOM_UTF16_BE)] == codecs.BOM_UTF16_BE: return contents[len(codecs.BOM_UTF16_BE):].decode('utf-16-be') try: - return contents.decode('utf-8',errors='backslashreplace') - except (UnicodeDecodeError, AttributeError) as e: - return contents + return contents.decode('utf-8') + except UnicodeDecodeError as e: + try: + return contents.decode('latin-1') + except UnicodeDecodeError as e: + return contents.decode('utf-8', error='backslashreplace') def get_content_hash(self): |