Use ensure_dirs() and apply_permissions() to avoid redundant chown/chmod calls. This...
authorZac Medico <zmedico@gentoo.org>
Sun, 16 Sep 2007 22:01:25 +0000 (22:01 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 16 Sep 2007 22:01:25 +0000 (22:01 -0000)
svn path=/main/trunk/; revision=7789

pym/portage/elog/mod_save.py
pym/portage/elog/mod_save_summary.py

index 31c410fac5404c02c7fe37065fd74f23c879935a..35c4338285a7d9453978a1e89f0f1d5ee666792f 100644 (file)
@@ -5,6 +5,7 @@
 
 import os, time
 from portage.data import portage_uid, portage_gid
+from portage.util import ensure_dirs
 
 def process(mysettings, key, logentries, fulltext):
        path = key.replace("/", ":")
@@ -13,10 +14,7 @@ def process(mysettings, key, logentries, fulltext):
                elogdir = os.path.join(mysettings["PORT_LOGDIR"], "elog")
        else:
                elogdir = os.path.join(os.sep, "var", "log", "portage", "elog")
-       if not os.path.exists(elogdir):
-               os.makedirs(elogdir)
-       os.chown(elogdir, portage_uid, portage_gid)
-       os.chmod(elogdir, 02770)
+       ensure_dirs(elogdir, uid=portage_uid, gid=portage_gid, mode=02770)
 
        elogfilename = elogdir+"/"+path+":"+time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time()))+".log"
        elogfile = open(elogfilename, "w")
index 25f8ae77aa460636e62bbb2953ea7b76d6299735..ee40731dffd1baa6660a45b18862dd64fa6bedf5 100644 (file)
@@ -5,20 +5,19 @@
 
 import os, time
 from portage.data import portage_uid, portage_gid
+from portage.util import ensure_dirs, apply_permissions
 
 def process(mysettings, key, logentries, fulltext):
        if mysettings["PORT_LOGDIR"] != "":
                elogdir = os.path.join(mysettings["PORT_LOGDIR"], "elog")
        else:
                elogdir = os.path.join(os.sep, "var", "log", "portage", "elog")
-       if not os.path.exists(elogdir):
-               os.makedirs(elogdir)
-       os.chown(elogdir, portage_uid, portage_gid)
-       os.chmod(elogdir, 02770)
+       ensure_dirs(elogdir, uid=portage_uid, gid=portage_gid, mode=02770)
 
        # TODO: Locking
        elogfilename = elogdir+"/summary.log"
        elogfile = open(elogfilename, "a")
+       apply_permissions(elogfilename, mode=060, mask=0)
        elogfile.write(">>> Messages generated by process %d on %s for package %s:\n\n" % \
                        (os.getpid(), time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(time.time())), key))
        elogfile.write(fulltext)