diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-08-11 19:54:35 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-08-11 19:54:35 +0000 |
commit | ec10fc704146f0cf9e496220977bd2785b9da70c (patch) | |
tree | 6a520d6bfa710906d52f8415a83322a88a0ba95d /src/lib/Server/Types.py | |
parent | 41a20559f2cd847cca59230d35ca6cb7306820af (diff) | |
download | bcfg2-ec10fc704146f0cf9e496220977bd2785b9da70c.tar.gz bcfg2-ec10fc704146f0cf9e496220977bd2785b9da70c.tar.bz2 bcfg2-ec10fc704146f0cf9e496220977bd2785b9da70c.zip |
Rename: src/Types.py -> src/lib/Server/Types.py
(Logical change 1.33)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@178 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Types.py')
-rw-r--r-- | src/lib/Server/Types.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/lib/Server/Types.py b/src/lib/Server/Types.py index e69de29bb..3ec7a0469 100644 --- a/src/lib/Server/Types.py +++ b/src/lib/Server/Types.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python + +from binascii import b2a_base64 +from string import join + +class ConfigFile(object): + format="<ConfigFile name='%s' owner='%s' group='%s' perms='%s' encoding='%s'>%s</ConfigFile>" + def __init__(self,name,owner,group,perms,content,encoding='ascii'): + self.name=name + self.owner=owner + self.group=group + self.perms=perms + self.content=content + self.encoding=encoding + if encoding == 'base64': + self.xcontent=b2a_base64(content) + else: + self.xcontent=self.content + + def toxml(self): + return self.format%(self.name,self.owner,self.group,self.perms,self.encoding,self.xcontent) + +class Service(object): + format = '''<Service name='%s' type='%s' status='%s' scope='%s'/>''' + + def __init__(self,name,stype,status,scope): + self.name = name + self.type = stype + self.status = status + self.scope = scope + + def toxml(self): + return self.format%(self.name,self.type,self.status,self.scope) + +class Package(object): + format = '''<Package name='%s' type='%s' url='%s'/>''' + + def __init__(self, name, t, url): + self.name = name + self.type = t + self.url = url + + def toxml(self): + return self.format%(self.name, self.type, self.url) + +class Clause(list): + format = '''<%s name='%s'>%%s</%s>''' + + def __init__(self, t, name, data=None): + list.__init__(self) + self.type = t + self.name = name + if data: + self.extend(data) + + def toxml(self): + r = self.format%(self.type,self.name,self.type) + children = map(lambda x:x.toxml(), self) + return r%(join(children,'')) |