From 815281ec3738ab2efcffea2a1b168cd9ea2eeab3 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Sat, 30 Oct 2004 15:07:47 +0000 Subject: update internal name }(Logical change 1.136) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@613 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Generators/pkgmgr.py | 58 ------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 src/lib/Server/Generators/pkgmgr.py (limited to 'src') diff --git a/src/lib/Server/Generators/pkgmgr.py b/src/lib/Server/Generators/pkgmgr.py deleted file mode 100644 index 61ee4cc7a..000000000 --- a/src/lib/Server/Generators/pkgmgr.py +++ /dev/null @@ -1,58 +0,0 @@ -'''This module implements a package management scheme for all images''' -__revision__ = '$Revision$' - -from re import compile as regcompile - -from Bcfg2.Server.Generator import Generator, DirectoryBacked, XMLFileBacked - -class PackageEntry(XMLFileBacked): - '''PackageEntry is a set of packages and locations for a single image''' - __identifier__ = 'image' - rpm = regcompile('^(?P[\w\+\d\.]+(-[\w\+\d\.]+)*)-(?P[\w\d\.]+-([\w\d\.]+))\.(?P\w+)\.rpm$') - - def Index(self): - XMLFileBacked.Index(self) - self.packages = {} - for location in self.entries: - for pkg in location.getchildren(): - if pkg.attrib.has_key("file"): - m = self.rpm.match(pkg.get('file')) - if not m: - print "failed to rpm match %s" % (pkg.get('file')) - continue - self.packages[m.group('name')] = m.groupdict() - self.packages[m.group('name')]['file'] = pkg.attrib['file'] - self.packages[m.group('name')]['uri'] = location.attrib['uri'] - self.packages[m.group('name')]['type'] = 'rpm' - else: - self.packages[pkg.get('name')] = pkg.attrib - -class PackageDir(DirectoryBacked): - __child__ = PackageEntry - -class pkgmgr(Generator): - '''This is a generator that handles package assignments''' - __name__ = 'pkgmgr' - __version__ = '$Id$' - __author__ = 'bcfg-dev@mcs.anl.gov' - - def __setup__(self): - self.pkgdir = PackageDir(self.data, self.core.fam) - - def FindHandler(self, entry): - if entry.tag != 'Package': - raise KeyError, (entry.tag, entry.get('name')) - return self.LocatePackage - - def LocatePackage(self, entry, metadata): - '''Locates a package entry for particular metadata''' - pkgname = entry.get('name') - pl = self.pkgdir["%s.xml" % (metadata.image)] - if pl.packages.has_key(pkgname): - p = pl.packages[pkgname] - if p.get('type', None) == 'rpm': - entry.attrib.update({'url':"%s/%s" % (p['uri'], p['file']), 'version':p['version']}) - else: - entry.attrib.update(p) - else: - raise KeyError, ("Package", pkgname) -- cgit v1.2.3-1-g7c22