summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-10-13 14:26:48 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-10-13 14:26:48 +0000
commitfbc59b05f79ddb087f1b0e039ab5180cd2968ca6 (patch)
treec91b58c166510b1e39213f8210ff4dfd3a2930d1 /src
parent813320d95314a7b64ade685a7fad7ffee873d6b2 (diff)
downloadbcfg2-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
Diffstat (limited to 'src')
-rw-r--r--src/lib/Client/Toolset.py12
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']))