diff options
author | Gunnar Wrobel <p@rdus.de> | 2008-06-02 15:25:32 +0000 |
---|---|---|
committer | Gunnar Wrobel <p@rdus.de> | 2008-06-02 15:25:32 +0000 |
commit | 71d189c7eb7fd53c0ed006b20fc5ed0e403ed515 (patch) | |
tree | 4cf72e0c1ef1d4c755a5b197935e29e3fc37fa1f /layman/action.py | |
parent | da7ff6a2f00cdc4c68a909cdea9d642543ac4ef5 (diff) | |
download | layman-71d189c7eb7fd53c0ed006b20fc5ed0e403ed515.tar.gz layman-71d189c7eb7fd53c0ed006b20fc5ed0e403ed515.tar.bz2 layman-71d189c7eb7fd53c0ed006b20fc5ed0e403ed515.zip |
Implement a umask setting (#186819)
Diffstat (limited to 'layman/action.py')
-rw-r--r-- | layman/action.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/layman/action.py b/layman/action.py index 32802b7..d5bd032 100644 --- a/layman/action.py +++ b/layman/action.py @@ -24,7 +24,7 @@ __version__ = "$Id: action.py 312 2007-04-09 19:45:49Z wrobel $" # #------------------------------------------------------------------------------- -import sys +import os, sys from layman.db import DB, RemoteDB @@ -472,6 +472,15 @@ class Actions: result = 0 + # Set the umask + umask = config['umask'] + try: + new_umask = int(umask, 8) + old_umask = os.umask(new_umask) + except Exception, error: + OUT.die('Failed setting to umask "' + umask + '"!\nError was: ' + + str(error)) + for i in self.actions: OUT.debug('Checking for action', 7) @@ -479,6 +488,8 @@ class Actions: if i[0] in config.keys(): result += i[1](config).run() + # Reset umask + os.umask(old_umask) if not result: sys.exit(0) |