commit:     b07cf871939ce5dfea8e8a145ebca39c95e07439
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  1 16:08:11 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jul  1 16:08:11 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=b07cf871

Clean up makedirs().

makedirs() exist_ok=True.  Use it to avoid FileExistsError.  We
are now logging exceptions vi stderr in Daemon.py, so let exceptions
propagate up for debugging.

 grs/Kernel.py           | 3 ++-
 grs/Log.py              | 5 +----
 grs/MountDirectories.py | 6 ++----
 grs/Populate.py         | 5 +----
 grs/Seed.py             | 5 +++--
 5 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/grs/Kernel.py b/grs/Kernel.py
index 7dd76fa..16d2247 100644
--- a/grs/Kernel.py
+++ b/grs/Kernel.py
@@ -96,7 +96,8 @@ class Kernel():
 
         cwd = os.getcwd()
         os.chdir(image_dir)
-        os.unlink(tarball_path)
+        if os.path.isfile(tarball_path):
+            os.unlink(tarball_path)
         cmd = 'tar -Jcf %s .' % tarball_path
         Execute(cmd, timeout=600, logfile=self.logfile)
         os.chdir(cwd)

diff --git a/grs/Log.py b/grs/Log.py
index 91141e8..2a7ef9d 100644
--- a/grs/Log.py
+++ b/grs/Log.py
@@ -11,10 +11,7 @@ class Log():
 
     def __init__(self, logfile = CONST.LOGFILE):
         self.logfile = logfile
-        try:
-            os.makedirs(os.path.dirname(self.logfile))
-        except FileExistsError:
-            pass
+        os.makedirs(os.path.dirname(self.logfile), exist_ok=True)
         open(self.logfile, 'a').close()
 
 

diff --git a/grs/MountDirectories.py b/grs/MountDirectories.py
index 43cd91a..16edc32 100644
--- a/grs/MountDirectories.py
+++ b/grs/MountDirectories.py
@@ -83,8 +83,7 @@ class MountDirectories():
                 # Here source_directory is assumet to be an abspath
                 # and we create it if it doesn't exist
                 source_directory = mount[0]
-                if not os.path.isdir(source_directory):
-                    os.makedirs(source_directory)
+                os.makedirs(source_directory, mode=0o755, exist_ok=True)
                 target_directory = mount[1]
             elif isinstance(mount, dict):
                 tmp = list(mount.values())
@@ -94,8 +93,7 @@ class MountDirectories():
                 tmp = list(mount.keys())
                 target_directory = tmp[0]
             target_directory = os.path.join(self.portage_configroot, 
target_directory)
-            if not os.path.isdir(target_directory):
-                os.makedirs(target_directory)
+            os.makedirs(target_directory, mode=0o755, exist_ok=True)
             if isinstance(mount, str):
                 cmd = 'mount --bind /%s %s' % (source_directory, 
target_directory)
             elif isinstance(mount, list):

diff --git a/grs/Populate.py b/grs/Populate.py
index 504283c..75b7ed8 100644
--- a/grs/Populate.py
+++ b/grs/Populate.py
@@ -34,10 +34,7 @@ class Populate():
         Execute(cmd, timeout=60, logfile = self. logfile)
 
         # Add any extra files
-        try:
-            os.makedirs(self.etc)
-        except FileExistsError:
-            pass
+        os.makedirs(self.etc, mode=0o755, exist_ok=True)
         with open(self.resolv_conf, 'w') as f:
             f.write('nameserver %s' % self.nameserver)
 

diff --git a/grs/Seed.py b/grs/Seed.py
index 0da8354..76034cc 100644
--- a/grs/Seed.py
+++ b/grs/Seed.py
@@ -50,8 +50,9 @@ class Seed():
             if os.path.isdir(directory):
                 shutil.move(directory, '%s.0' % directory)
             # Now that all prevous directory are out of the way,
-            # create a new empty directory
-            os.makedirs(directory)
+            # create a new empty directory.  Fail if the directory
+            # is still around.
+            os.makedirs(directory, mode=0o755, exist_ok=False)
 
         # Download a stage tarball if we don't have one
         if not os.path.isfile(self.filepath):

Reply via email to