From c5a80890c5850b39994fe0378b6fcfdb497cdb1f Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sun, 30 Oct 2011 08:38:36 +0100 Subject: [PATCH] [entropy.client] use entropy.tools.atomic_write() when needed --- lib/entropy/client/interfaces/methods.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/entropy/client/interfaces/methods.py b/lib/entropy/client/interfaces/methods.py index 4db1393ba..0b66dcc71 100644 --- a/lib/entropy/client/interfaces/methods.py +++ b/lib/entropy/client/interfaces/methods.py @@ -2549,16 +2549,8 @@ class MatchMixin: with codecs.open(m_file, "r", encoding=enc) as f: content = [x.strip() for x in f.readlines()] content.append(keyword) - m_file_tmp = m_file+".tmp" - with codecs.open(m_file_tmp, "w", encoding=enc) as f: - for line in content: - f.write(line+"\n") - f.flush() - try: - os.rename(m_file_tmp, m_file) - except OSError: - shutil.copy2(m_file_tmp, m_file) - os.remove(m_file_tmp) + + entropy.tools.atomic_write(m_file, "\n".join(content) + "\n", enc) return True def _clear_package_mask(self, package_match, dry_run = False):