summaryrefslogtreecommitdiffstats
path: root/pym/portage/news.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/news.py')
-rw-r--r--pym/portage/news.py19
1 files changed, 5 insertions, 14 deletions
diff --git a/pym/portage/news.py b/pym/portage/news.py
index 203ce3fec..e366287bb 100644
--- a/pym/portage/news.py
+++ b/pym/portage/news.py
@@ -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)