diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-10-13 14:26:48 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-10-13 14:26:48 +0000 |
commit | fbc59b05f79ddb087f1b0e039ab5180cd2968ca6 (patch) | |
tree | c91b58c166510b1e39213f8210ff4dfd3a2930d1 | |
parent | 813320d95314a7b64ade685a7fad7ffee873d6b2 (diff) | |
download | bcfg2-fbc59b05f79ddb087f1b0e039ab5180cd2968ca6.tar.gz bcfg2-fbc59b05f79ddb087f1b0e039ab5180cd2968ca6.tar.bz2 bcfg2-fbc59b05f79ddb087f1b0e039ab5180cd2968ca6.zip |
fix base64 installations
(Logical change 1.92)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@431 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r-- | src/lib/Client/Toolset.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/Client/Toolset.py b/src/lib/Client/Toolset.py index 0e0a7c042..91fa23277 100644 --- a/src/lib/Client/Toolset.py +++ b/src/lib/Client/Toolset.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +from binascii import a2b_base64 from grp import getgrgid, getgrnam from os import chown, chmod, lstat, mkdir, stat, system, unlink, rename, readlink, symlink from pwd import getpwuid, getpwnam @@ -236,7 +237,10 @@ class Toolset(object): except KeyError: return False perms=stat(entry.attrib['name'])[ST_MODE] - tempdata = entry.text + if entry.attrib.get('encoding', 'ascii') == 'base64': + tempdata = a2b_base64(entry.text) + else: + tempdata = entry.text if ((data == tempdata) and (owner == entry.attrib['owner']) and (group == entry.attrib['group']) and (perms == CalcPerms(S_IFREG, entry.attrib['perms']))): return True @@ -264,7 +268,11 @@ class Toolset(object): # If we get here, then the parent directory should exist try: newfile = open("%s.new"%(entry.attrib['name']), 'w') - newfile.write(entry.text) + if entry.attrib.get('encoding', 'ascii') == 'base64': + filedata = a2b_base64(entry.text) + else: + filedata = entry.text + newfile.write(filedata) newfile.close() chown(newfile.name, getpwnam(entry.attrib['owner'])[2], getgrnam(entry.attrib['group'])[2]) chmod(newfile.name, CalcPerms(S_IFREG, entry.attrib['perms'])) |