X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=blobdiff_plain;f=tools.py;h=0d8fe95e706410dff287c85ff4fa11ed8e28c978;hp=d8f216e838b2f82a96f24326f535832f9d87b9f8;hb=121219ac45fd954d3c7219c0f249fb1cddbc5105;hpb=24f4b417fd6812f02ab0e88a43bce430b3913baa diff --git a/tools.py b/tools.py index d8f216e..0d8fe95 100644 --- a/tools.py +++ b/tools.py @@ -154,13 +154,14 @@ using to write that file, and then renaming the temporary file. shutil.move(write_temp_file(do_write, **kw_args), filename) -def write_temp_file(do_write, mode=None, uidgid=None): +def write_temp_file(do_write, mode=None, uidgid=None, binary=False): fd, temporary_filename = tempfile.mkstemp() if mode: os.chmod(temporary_filename, mode) if uidgid: os.chown(temporary_filename, *uidgid) - f = os.fdopen(fd, 'w') + open_mode = 'wb' if binary else 'w' + f = os.fdopen(fd, open_mode) try: do_write(f) finally: