Bug #237526 - Use portage.util.grablines() for exception handling when
authorZac Medico <zmedico@gentoo.org>
Sat, 13 Sep 2008 18:10:15 +0000 (18:10 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 13 Sep 2008 18:10:15 +0000 (18:10 -0000)
reading the unread file.

svn path=/main/trunk/; revision=11510

pym/portage/news.py

index 203ce3fec61c6183e2ac1c041ce4ad5e8710046b..e366287bb3b668ba60cc73d445ed6577e5709ae2 100644 (file)
@@ -10,7 +10,8 @@ __all__ = ["NewsManager", "NewsItem", "DisplayRestriction",
 import errno
 import os
 import re
-from portage.util import ensure_dirs, apply_permissions, normalize_path, grabfile, write_atomic
+from portage.util import apply_permissions, ensure_dirs, grabfile, \
+       grablines, normalize_path, write_atomic
 from portage.data import portage_gid
 from portage.locks import lockfile, unlockfile
 from portage.exception import OperationNotPermitted
@@ -141,19 +142,9 @@ class NewsManager(object):
                        if os.access(os.path.dirname(unreadfile), os.W_OK):
                                # TODO: implement shared readonly locks
                                unread_lock = lockfile(unreadfile)
-                       try:
-                               f = open(unreadfile)
-                               try:
-                                       unread = f.readlines()
-                               finally:
-                                       f.close()
-                       except EnvironmentError, e:
-                               if e.errno != errno.ENOENT:
-                                       raise
-                               del e
-                               return 0
-                       if len(unread):
-                               return len(unread)
+
+                       return len(grablines(unreadfile))
+
                finally:
                        if unread_lock:
                                unlockfile(unread_lock)