[yum-cvs] yum/yum sqlitesack.py,1.66,1.67

Seth Vidal skvidal at linux.duke.edu
Wed Feb 28 02:26:44 UTC 2007


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv7508

Modified Files:
	sqlitesack.py 
Log Message:

looks like we get the same benefit of not calling __init__() on each of the
objects as we do by flattening the class. So don't flatten them.


Index: sqlitesack.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/sqlitesack.py,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- sqlitesack.py	27 Feb 2007 22:17:00 -0000	1.66
+++ sqlitesack.py	28 Feb 2007 02:26:42 -0000	1.67
@@ -24,7 +24,7 @@
 import re
 import rpm
 import yumRepo
-from packages import PackageObject, RpmBase
+from packages import PackageObject, RpmBase, YumAvailablePackage
 import Errors
 import misc
 import stat
@@ -38,9 +38,9 @@
 
 from sqlutils import executeSQL
 
-class YumAvailablePackageSqlite(PackageObject, RpmBase):
+class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
     def __init__(self, repo, pkgdict):
-        PackageObject.__init__(self)
+        #PackageObject.__init__(self)
         RpmBase.__init__(self)
         
         self.sack = pkgdict.sack
@@ -91,127 +91,6 @@
         setattr(self, varname, r[0])
             
         return r[0]
-   
-    def printVer(self):
-        """returns a printable version string - including epoch, if it's set"""
-        if self.epoch != '0':
-            ver = '%s:%s-%s' % (self.epoch, self.version, self.release)
-        else:
-            ver = '%s-%s' % (self.version, self.release)
-        
-        return ver
-    
-    def compactPrint(self):
-        ver = self.printVer()
-        return "%s.%s %s" % (self.name, self.arch, ver)
-
-    def _size(self):
-        return self.packagesize
-    
-    def _remote_path(self):
-        return self.relativepath
-
-    def _remote_url(self):
-        """returns a URL that can be used for downloading the package.
-        Note that if you're going to download the package in your tool,
-        you should use self.repo.getPackage."""
-        base = self.basepath
-        if base:
-            return urlparse.urljoin(base, self.remote_path)
-        return urlparse.urljoin(self.repo.urls[0], self.remote_path)
-    
-    size = property(_size)
-    remote_path = property(_remote_path)
-    remote_url = property(_remote_url)
-
-
-    def getDiscNum(self):
-        if self.basepath is None:
-            return None
-        (scheme, netloc, path, query, fragid) = urlparse.urlsplit(self.basepath)
-        if scheme == "media":
-            return int(fragid)
-        return None
-    
-    def returnHeaderFromPackage(self):
-        rpmfile = self.localPkg()
-        ts = rpmUtils.transaction.initReadOnlyTransaction()
-        hdr = rpmUtils.miscutils.hdrFromPackage(ts, rpmfile)
-        return hdr
-        
-    def returnLocalHeader(self):
-        """returns an rpm header object from the package object's local
-           header cache"""
-        
-        if os.path.exists(self.localHdr()):
-            try: 
-                hlist = rpm.readHeaderListFromFile(self.localHdr())
-                hdr = hlist[0]
-            except (rpm.error, IndexError):
-                raise Errors.RepoError, 'Cannot open package header'
-        else:
-            raise Errors.RepoError, 'Package Header Not Available'
-
-        return hdr
-
-       
-    def localPkg(self):
-        """return path to local package (whether it is present there, or not)"""
-        if not hasattr(self, 'localpath'):
-            rpmfn = os.path.basename(self.remote_path)
-            self.localpath = self.repo.pkgdir + '/' + rpmfn
-        return self.localpath
-
-    def localHdr(self):
-        """return path to local cached Header file downloaded from package 
-           byte ranges"""
-           
-        if not hasattr(self, 'hdrpath'):
-            pkgname = os.path.basename(self.remote_path)
-            hdrname = pkgname[:-4] + '.hdr'
-            self.hdrpath = self.repo.hdrdir + '/' + hdrname
-
-        return self.hdrpath
-    
-    def verifyLocalPkg(self):
-        """check the package checksum vs the localPkg
-           return True if pkg is good, False if not"""
-           
-        (csum_type, csum) = self.returnIdSum()
-        
-        try:
-            filesum = misc.checksum(csum_type, self.localPkg())
-        except Errors.MiscError:
-            return False
-        
-        if filesum != csum:
-            return False
-        
-        return True
-        
-    def prcoPrintable(self, prcoTuple):
-        """convert the prco tuples into a nicer human string"""
-        warnings.warn('prcoPrintable() will go away in a future version of Yum.\n',
-                      Errors.YumDeprecationWarning, stacklevel=2)
-        return misc.prco_tuple_to_string(prcoTuple)
-
-    def requiresList(self):
-        """return a list of requires in normal rpm format"""
-        return self.requires_print
-        
-    def _loadChecksums(self):
-        if not self._checksums:
-            cache = self.sack.primarydb[self.repo]
-            c = cache.cursor()
-            executeSQL(c, "select checksum_type, checksum_value from packages where pkgId = ?", (self.pkgId,))
-            for ob in c.fetchall():
-                self._checksums.append((ob['checksum_type'], ob['checksum_value'], True))
-
-    
-    def returnChecksums(self):
-        self._loadChecksums()
-        return self._checksums
-
         
     def _loadFiles(self):
         if self._loadedfiles:




More information about the Yum-cvs-commits mailing list