392 with contextlib.suppress(OSError): |
392 with contextlib.suppress(OSError): |
393 os.rename(filename, backupFilename) |
393 os.rename(filename, backupFilename) |
394 |
394 |
395 # 2. write the data to the file and reset the permissions |
395 # 2. write the data to the file and reset the permissions |
396 newline = None if params["newline"] == "<<none>>" else params["newline"] |
396 newline = None if params["newline"] == "<<none>>" else params["newline"] |
397 try: |
397 if newline is None: |
398 with open(filename, "wb", newline=newline) as f: |
398 mode = "wb" |
|
399 else: |
|
400 mode = "w" |
|
401 data = data.decode("utf-8") |
|
402 try: |
|
403 with open(filename, mode, newline=newline) as f: |
399 f.write(data) |
404 f.write(data) |
400 if params["with_backup"] and perms_valid: |
405 if params["with_backup"] and perms_valid: |
401 os.chmod(filename, permissions) |
406 os.chmod(filename, permissions) |
402 return {"ok": True} |
407 return {"ok": True} |
403 except OSError as err: |
408 except OSError as err: |