from portage.exception import DirectoryNotFound, FileNotFound, \
InvalidData, TryAgain
from portage.data import portage_gid
+from portage.output import EOutput
from portage.util import writemsg
from portage.localization import _
raise TryAgain(mypath)
global _quiet
- if _quiet:
- pass
- elif waiting_msg is None:
+ out = EOutput()
+ out.quiet = _quiet
+ if waiting_msg is None:
if isinstance(mypath, int):
- writemsg("waiting for lock on fd %i\n" % myfd,
- noiselevel=-1)
+ waiting_msg = "waiting for lock on fd %i" % myfd
else:
- writemsg("waiting for lock on %s\n" % lockfilename,
- noiselevel=-1)
- elif waiting_msg:
- writemsg(waiting_msg + "\n", noiselevel=-1)
+ waiting_msg = "waiting for lock on %s\n" % lockfilename
+ out.ebegin(waiting_msg)
# try for the exclusive lock now.
- fcntl.lockf(myfd,fcntl.LOCK_EX)
+ try:
+ fcntl.lockf(myfd, fcntl.LOCK_EX)
+ except EnvironmentError, e:
+ out.eend(1, str(e))
+ raise
+ out.eend(os.EX_OK)
elif e.errno == errno.ENOLCK:
# We're not allowed to lock on this FS.
os.close(myfd)
self.ewarn(msg[0])
if self.__last_e_cmd != "ebegin":
self.__last_e_len = 0
- out = sys.stdout
- out.write("%*s%s\n" % \
- ((self.term_columns - self.__last_e_len - 6), "", status_brackets))
- out.flush()
+ if not self.quiet:
+ out = sys.stdout
+ out.write("%*s%s\n" % ((self.term_columns - self.__last_e_len - 6),
+ "", status_brackets))
+ out.flush()
def ebegin(self, msg):
"""