diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2007-08-01 13:48:35 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2007-08-01 13:48:35 +0000 |
commit | 27f130ee295c6469c74d172fe08ac310046c5d2c (patch) | |
tree | 6468b5030d37591cd327372cd7ab12bb33ae9508 /src/lib/Server | |
parent | 2361aaca291b381bde937af2e575ef053eba6418 (diff) | |
download | bcfg2-27f130ee295c6469c74d172fe08ac310046c5d2c.tar.gz bcfg2-27f130ee295c6469c74d172fe08ac310046c5d2c.tar.bz2 bcfg2-27f130ee295c6469c74d172fe08ac310046c5d2c.zip |
Revert mistaken Pkgmgr matches
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@3588 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server')
-rw-r--r-- | src/lib/Server/Plugin.py | 3 | ||||
-rw-r--r-- | src/lib/Server/Plugins/Pkgmgr.py | 49 |
2 files changed, 2 insertions, 50 deletions
diff --git a/src/lib/Server/Plugin.py b/src/lib/Server/Plugin.py index aa68a80df..3c32dcad7 100644 --- a/src/lib/Server/Plugin.py +++ b/src/lib/Server/Plugin.py @@ -275,7 +275,6 @@ class INode: class XMLSrc(XMLFileBacked): '''XMLSrc files contain a LNode hierarchy that returns matching entries''' __node__ = INode - __cacheobj__ = dict def __init__(self, filename): XMLFileBacked.__init__(self, filename) @@ -308,7 +307,7 @@ class XMLSrc(XMLFileBacked): def Cache(self, metadata): '''Build a package dict for a given host''' if self.cache == None or self.cache[0] != metadata: - cache = (metadata, self.__cacheobj__()) + cache = (metadata, {}) if self.pnode == None: logger.error("Cache method called early for %s; forcing data load" % (self.name)) self.HandleEvent() diff --git a/src/lib/Server/Plugins/Pkgmgr.py b/src/lib/Server/Plugins/Pkgmgr.py index a11e237d1..abab0220f 100644 --- a/src/lib/Server/Plugins/Pkgmgr.py +++ b/src/lib/Server/Plugins/Pkgmgr.py @@ -5,28 +5,6 @@ import logging, re, Bcfg2.Server.Plugin logger = logging.getLogger('Bcfg2.Plugins.Pkgmgr') -class FuzzyDict(dict): - fuzzy = re.compile('(?P<name>.*):(?P<alist>\S+(,\S+)*)') - def __getitem__(self, key): - mdata = self.fuzzy.match(key) - if mdata: - return dict.__getitem__(self, mdata.groupdict()['name']) - return dict.__getitem__(self, key) - - def has_key(self, key): - mdata = self.fuzzy.match(key) - if self.fuzzy.match(key): - return dict.has_key(self, mdata.groupdict()['name']) - return dict.has_key(self, key) - - def get(self, key, default=None): - try: - return self.__getitem__(key) - except: - if default: - return default - raise - class PNode(Bcfg2.Server.Plugin.INode): '''PNode has a list of packages available at a particular group intersection''' splitters = {'rpm':re.compile('^(.*/)?(?P<name>[\w\+\d\.]+(-[\w\+\d\.]+)*)-' + \ @@ -34,18 +12,6 @@ class PNode(Bcfg2.Server.Plugin.INode): 'encap':re.compile('^(?P<name>[\w-]+)-(?P<version>[\w\d\.+-]+).encap.*$')} ignore = ['Package'] - def Match(self, metadata, data): - '''Return a dictionary of package mappings''' - if self.predicate(metadata): - for key in self.contents: - try: - data[key].update(self.contents[key]) - except: - data[key] = FuzzyDict() - data[key].update(self.contents[key]) - for child in self.children: - child.Match(metadata, data) - def __init__(self, data, pdict, parent=None): # copy local attributes to all child nodes if no local attribute exists if not pdict.has_key('Package'): @@ -60,7 +26,7 @@ class PNode(Bcfg2.Server.Plugin.INode): pass Bcfg2.Server.Plugin.INode.__init__(self, data, pdict, parent) if not self.contents.has_key('Package'): - self.contents['Package'] = FuzzyDict() + self.contents['Package'] = {} for pkg in data.findall('./Package'): if pkg.attrib.has_key('name') and pkg.get('name') not in pdict['Package']: pdict['Package'].append(pkg.get('name')) @@ -108,7 +74,6 @@ class PNode(Bcfg2.Server.Plugin.INode): class PkgSrc(Bcfg2.Server.Plugin.XMLSrc): '''PkgSrc files contain a PNode hierarchy that returns matching package entries''' __node__ = PNode - __cacheobj__ = FuzzyDict class Pkgmgr(Bcfg2.Server.Plugin.PrioDir): '''This is a generator that handles package assignments''' @@ -117,15 +82,3 @@ class Pkgmgr(Bcfg2.Server.Plugin.PrioDir): __author__ = 'bcfg-dev@mcs.anl.gov' __child__ = PkgSrc __element__ = 'Package' - - def HandleEvent(self, event): - '''Handle events and update dispatch table''' - Bcfg2.Server.Plugin.XMLDirectoryBacked.HandleEvent(self, event) - for src in self.entries.values(): - for itype, children in src.items.iteritems(): - for child in children: - try: - self.Entries[itype][child] = self.BindEntry - except KeyError: - self.Entries[itype] = FuzzyDict([(child, - self.BindEntry)]) |