| # Copyright (c) 2020 Nordic Semiconductor ASA |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| """ |
| Helper functions used by gen_kconfig_rest.py and gen_devicetree_rest.py. |
| """ |
| |
| import errno |
| |
| def write_if_updated(path, s): |
| """ |
| Writes 's' as the contents of <out_dir>/<filename>, but only if it |
| differs from the current contents of the file. This avoids unnecessary |
| timestamp updates, which trigger documentation rebuilds. |
| |
| Returns True if the file was updated, False otherwise. |
| """ |
| |
| try: |
| with open(path, "r", encoding="utf-8") as f: |
| if s == f.read(): |
| return False |
| except OSError as e: |
| if e.errno != errno.ENOENT: |
| raise |
| |
| with open(path, "w", encoding="utf-8") as f: |
| f.write(s) |
| return True |