diff options
Diffstat (limited to 'BuildTools/SCons/Tools/textfile.py')
-rw-r--r-- | BuildTools/SCons/Tools/textfile.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/BuildTools/SCons/Tools/textfile.py b/BuildTools/SCons/Tools/textfile.py index cc58666..73105ad 100644 --- a/BuildTools/SCons/Tools/textfile.py +++ b/BuildTools/SCons/Tools/textfile.py @@ -107,13 +107,17 @@ def _action(target, source, env): # write the file try: fd = open(target[0].get_path(), "wb") - except (OSError,IOError), e: + except (OSError,IOError) as e: raise SCons.Errors.UserError("Can't write target file %s" % target[0]) # separate lines by 'linesep' only if linesep is not empty lsep = None for s in source: if lsep: fd.write(lsep) - fd.write(_do_subst(s, subs).encode("utf-8")) + stringtowrite = _do_subst(s, subs) + if isinstance(stringtowrite, str): + fd.write(stringtowrite) + elif isinstance(stringtowrite, unicode): + fd.write(stringtowrite.encode('utf-8')) lsep = linesep fd.close() |